Have you ever wanted to live stream your Rpi Desktop to the browser? Here is how to do it.
It's clear that embedded computers like the Raspberry Pi 1 or the Raspberry Pi 2 do not have the necessary power to perform all the funny media processing stuff such as motion detection, speech recognition, recording, mixing, broadcasting, etc... that we would expect from a modern PC or workstation. Yes, UV4L already natively implements things like on-the-fly Text Overlay and Face Detection at full fps and resolution, but what if we also wanted to do a little bit more magic than that, like processing an additional audio stream and recording the resulting output at the same time, for example? The answer is that the RPi should not be doing any processing at all, really. What we need is a way to simple define the media processing pipeline we prefer and delegate all the job to an external media server such as Kurento. So interfacing with Kurento or even with the Nubomedia cloud built on the top of it will be the objective of the next (major) releases of UV4L.
"Kurento is a WebRTC media server and a set of client APIs making simple the development of advanced video applications for WWW and smartphone platforms. Kurento features include group communications, transcoding, recording, mixing, broadcasting and routing of audiovisual flows.
Kurento also provides advanced media processing capabilities involving computer vision, video indexing, augmented reality and speech analysis. Kurento modular architecture makes simple the integration of third party media processing algorithms (i.e. speech recognition, sentiment analysis, face recognition, etc.), which can be transparently used by application developers as the rest of Kurento built-in features."
A new release of the UV4L Streaming Server is out! From now on it will be possible to create Multi Peer-to-Peer WebRTC Conferences with a single mouse click! No configuration, no external plug-in's required!
To get the latest release, please upgrade the packages for Raspbian. Packages for x86 will be out soon.
An interesting application of the recent addition of the WebRTC extension for the UV4L Streaming Server is Audio/Video Conferencing in pure HTML5 (NO configuration required).
If you want to try it out, just install UV4L and visit this Web Page with any browser (in the future this page will be part of the UV4L Streaming Server as well).
Not only you will be able to stream your local media to all the participants of the conference, but from the same page you will be also able to add any Remote UV4L Peers (i.e. a RaspberryPi2 with a Camera and Microphone attached) to the same conference.
Shortly after the announcement of the first release of the WebRTC extension for the UV4L Streaming Server, here's another update! As promised, Audio from an input device (i.e. microphone) can now be optionally added to the live stream!
A pure HTML5 test page is here.
Please read the documentation for all the available options.
Video & Audio streams have been successfully tested on Chrome, Opera, Firefox and Android. Due to a bug in Firefox prior to version 37.0, when audio is enabled, Firefox does not display the Video track. The problem has been fixed since v.37.