webRTC in gstreamer

Sean DuBois sean at siobud.com
Wed Apr 19 07:30:24 UTC 2017


On Tue, Apr 18, 2017 at 10:41:03AM +0200, Sebastian Dröge wrote:
> On Tue, 2017-04-18 at 09:49 +0300, Alexander Yanin wrote:
> > Hi!
> >
> > Is there a way to implement WebRTC streaming in gstreamer? Particularly, I have a pipeline that receives multiple udp streams, decodes them, combine decoded frames in one big mosaic frame and encodes that mosaic. Next I want to be able to send that mosaic over WebRTC to possible clients. Finally, my purpose is to be able to watch this mosaic in a web browser.
> > How can WebRTC streaming be implemented with gstreamer? Is there any sink for this, that can be included in pipeline after mp4mux, for expample?
> > Any help will be highly appreciated, as I am completely new to WebRTC.
>
> All the bits and pieces for the media transport of WebRTC are available
> in GStreamer: RTP with various extensions and DTLS/SRTP, and ICE
> integration via libnice. You just have to put these pieces together in
> a custom pipeline at this point, which is something various people are
> successfully doing already (see e.g. Kurento and OpenWebRTC, but keep
> in mind that both projects don't look very active recently).
>
> --
> Sebastian Dröge, Centricular Ltd · http://www.centricular.com

I would recommend Janus (https://janus.conf.meetecho.com/) it has an
example of taking RTP (h264/vp8 and Opus) to WebRTC out of the box

https://github.com/meetecho/janus-gateway/blob/7c9bddfe2ef1d6fca6572590ce03f0e207fdec4c/plugins/streams/test_gstreamer.sh

It also is all C/glib so very easy to work with IMO


More information about the gstreamer-devel mailing list