Background: Basically, we have an embedded application (all Linux-based) that does some camera-input streaming, then some other stuff, and ends up with a resulting frame with for 0 – 6 cameras. Right now we write those frames out to 0-6 (corresponding to the number of aforementioned cameras) “v4l2loopback” devices. Those are essentially virtual v4l(Video-4-Linux) devices nodes that can be configured to be written to and exposed to a browser like a webcam. My Dashboard (ASP.Net Core application) opens these (javascript -- getUserMedia()) and displays them in standard html5 video tags.

This only works right now because our dashboard display is connected to the HDMI. The javascript functions that we are using to open these loopback devices opens any audio or video devices that are available on the client browser (where our app is opened). Since our browser is currently being opened on the embedded Linux device, this just works. We cannot use this procedure on a Wifi-connected device (phone, tablet, laptop, etc.) because the javascript on that device will enumerate its cameras, not the embedded systems’.

New Path? The question is, is there a recommended way (RTSP, h264 encoding, etc.) or a straightforward way of sending frames or streaming from a C++ application to some sort of port or socket that I can open and attach to and display in a standard html5 video tag? If not, is there something like it? The end result would be a Dashboard that could show one to many camera feeds depending upon the situation or end-user configuration. That dashboard would then be capable of being located locally on the embedded system or remotely on a Wifi-connected device.

| improve this question | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.