How do I record video from a remote webrtc camera? - raspberry-pi

I have a raspberry pi which has webrtc via uv4l2. It is awesome! I want to record the video from the camera on a server. It's your basic surveillance camera setup... central linux server with lots of storage space, remote IP cameras, etc. I've read dozens of pages and still can't figure it out. I tried all this kurento mumbo jumbo but it's all wretch an no vomit. It never gets there. What's the command to grabthe rpi video and dump it to disk? Please help!!!

UV4L already supports audio+video recording on the server (other than on the client), if you use it with Janus WebRTC. Have a look at the bottom of the Video Conference DEMO OS page for more details. At the moment, you will have to use the REST API to login into a Janus room and turn on/off the recording. The REST API is ideal if you want to control UV4L from a custom application, but there is also a panel which allows you to dynamically send REST requests to the UV4L server.

Related

How to send Video feed frames to a ThingsBoard widget, without requesting them from a local server?

I've been searching for sending my local video feed from a Rasberry PI to a ThingsBoard Widget, the typical solution would be to expose the feeding device via port forwarding or VPN to be accessed from outside my network, then I would be able to request video frames from a typical image or video or iframe element with the aid of javascript.
but my need is a little bit complex, I want to send the video feed frames to a things board widget so I could have the video feed without the hassle of the port forwarding and the network stuff. Any Ideas?
I don't think this is possible other than what you suggested and make the feed available externally and pull into an iFrame in an HTML widget. It would require a constantly connected feed to run through the Rule Engine from the device and it is not built that way.
What you could do depending on your requirements is have it send still frames from the camera in base64 every time it polls?

How to transimit video streaming from HoloLens (C#) to PC (python) by socket communication?

I can realize sending data from HoloLens (using Unity coding by C#) to PC (coding by C#) by socket communication. But how to sending video steaming in real-time (the video starts to be recorded when I open the application in HoloLens) from HoloLens to PC by my original socket frame. In my view, maybe I should add some sentences to recognize the HoloLens camera, record video and encode the video to data, then transmit the data by my previous socket. Is it right and how to realize it?
By the way, I hope that the PC can receive the video by python so that I can process the video in the following steps.
To send video steaming in real-time between HoloLens and PC client, WebRTC should can meets your needs. Please check out this MixedReality-WebRTC project, it can help you to integrate peer-to-peer real-time audio and video communication into your application. It also implements local video capture you need and encapsulation it as a Unity3D component for rapid prototyping and integration.
You can read its official documentation via this link: MixedReality-WebRTC 1.0.0 documentation.
Moreover, this project can be used in desktop applications or even other non-mixed reality applications, which can save your development costs.

Linux server vlc to restream rtsp feed from ip cam

Im new i streaming so sorry for stupid questions, I tried to find info in web but nothing seems to work.
What Im trying to do
I have IP Cam that puts out RTSP stream to internet its IP is: rtsp://89.79.16.127:2550
When Im accessing that stream in windows VLC (win xp) every thing works (you can tryit for yourself)
Now I have dedicated linux debian serwer with ip: 109.95.153.133
I want to setup VLC serwer that will grap rtsp feed from camera IP and restream it via my serwer, so I can show that stream on my website (located on that dedicated serwer)
Can You help mi accomplish that?
Open VLC, select Open location from clipboard
Enter the proper camera url. For example, the axis M7014 streams in H264 so its url will look like rtsp://Camera-IP/axis-media/media.amp?codec=h264
Enter the login at the prompt or encode it to the rtsp link
rtsp://user:pass#Camera-IP/axis-media/media.amp?codec=INFO.)
If the stream is playing on the screen it means you support this codec. If not, then you shouldn't try to transcode it. For example, the axis M7014 uses an H264 variant that only quicktime fully supports.
The previous steps were to determine if you can transcode or if you should just forward the traffic.
Menu-Stream, select your RTSP as a source, then add an RTSP destination and stream. If you cant see the video play you can only forward it to a player that can. beware, some RTSP headers might get tweaked and disable the ability to pause video. I can looking for a fix right now.

Over the web and over the lan streaming with WAMP

I want to set up a little website from which i can stream video/audio to my android phone. I'm wondering will the WAMP server stream through LAN when both the phone and the pc are on the same network or will it still go through the web. I have low upload speed it's high enough to stream videos but i prefer the server to stream through lan when we're on the same network and over the web when we're not. So will the server do this by himself or should i look in another variant.
Yes it will stream through the LAN.
There are no special things you need. The only thing is that the media won't actually stream. Whatever your media is will only play after completely downloading.

how does Webcam stream is usually done?

I am currently doing a small project and one of the components is to capture the webcam stream from one side to the other (Client-->Server). right now i have the stream from the Server as bytes and as far as i know i should transfer these bytes using UDP. My question is how to do that,
is it should be enclosed into a file and then transferred?
should i transfer the raw bytes?
should i create a buffer at the client side and when it gets full show it on the screen?
in short i would like to know how to implement the transfer of the stream from the server to the client (i need just on side).
You can stream a webcam to a client via multiple ways.
use Windows media Server/ Flash media Server. Push your webcam to the server by Windows Media Encoder or flash media encoder, and use the server live link to playback on the client(windows /Web).
Use Windows Media Encoder to stream your webcam to anyone without a server involved. when your encoder starts, you will get a URL to view your stream, which you can use to playback on the client(windows /Web).
use third party streaming services, where they give you a publishing point to publish your webcam stream, and use the link provided by them to playback on the client(windows /Web).. (check with brighcove or Mogulus by LiveStream
Hope this helps.