Gstreamer webrtcbin for Raspberry Pi IoT

The Gstreamer webrtcbin plugin provides the signalling logic and full-duplex low latency video and/or audio RTP live streaming for a Raspberry Pi IoT device (e.g. RPi3 B+) to operate as a WebRTC endpoint.

Gstreamer webrtcbin demo and installation information can be found at these links:

http://blog.nirbheek.in/2018/02/gstreamer-webrtc.html

https://gitlab.freedesktop.org/gstreamer/gst-examples/-/tree/master/webrtc

https://gitlab.freedesktop.org/gstreamer/gst-build

If the RPi IoT device connects to a browser based app, then JavaScript is used with the WebRTC API for custom features such as browser based recording and audio spectrograms.

WebRTC requires HTTPS. A RPi IoT device can use the same self-signed SSL certificate for both the webserver and signalling server (often secure websockets).

On the RPi, node.js with C code functions may be a good choice since node.js is a server-side version of JavaScript, and node.js can call Gstreamer custom C code functions that can be compiled easily with the meson and ninja tools.

WebRTC requires a signalling server. The webrtcbin demo uses a websockets Python signalling server, which can be modified for your application and run on the RPi.

As described in Audio Classification with TensorFlow Artificial Intelligence, a RPi can support WebRTC, video recogntion, and/or AI audio classification, which opens the door to a vast array of meaningful IoT applications.

OTTStreamingVideo.net has extensive experience with WebRTC, gstreamer, AI video recognition, and AI audio classification for embedded Linux applications. Please contact us for more information.

Comments are closed.