WebRTC extension

WebRTC extension for the UV4L Streaming Server

The WebRTC extension for the UV4L Streaming Server allows to stream multimedia content from audio, video and data sources in real-time as defined by the WebRTC protocol.

To give you an idea, think of a Raspberry Pi equipped with camera, microphone and, optionally, with speakers and display. Now suppose you want to get a HD or full HD live stream from the Raspberry Pi directly onto a page of your browser or, better, make two-way calls from your PC browser to the Rpi. How would you do that with no effort at all? The solution is to install and run the UV4L Streaming Server on the Raspberry Pi and load a standard HTML5 page doing or write your own one. That’s it. Of course, the HTTP/HTTPS Web front-end of the Streaming Server already provides a full-featured HTML5 page thanks to which it’s possible to make two-way peer-to-peer audio/video calls.

WebRTC is ideal for telepresence, intercom, voip software in general as it is a very powerful standard and modern protocol which gives a number of features such as NAT Traversal, secure, efficient and adaptive peer-to-peer real-time data/audio/video streaming, encryption, echo cancellation, hardware-encoded H264, VP8/VP9/Opus encodings, browser compatibility with Firefox, Chrome, Opera, Android, etc…

Recent releases of this extension support Jitsi or Janus video conferences over the web. As an interesting example, WebRTC data channels allow to control a robot from the browser as shown in this demo.