webRTC in gstreamer

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

webRTC in gstreamer

Alexander Yanin
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.

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webRTC in gstreamer

Sebastian Dröge-3
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
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (1019 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: webRTC in gstreamer

Sean DuBois
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
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel