RTSP to WEBRTC without h264 transcoding

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

RTSP to WEBRTC without h264 transcoding

pasifus
Hi devs,
Is Gstreamer 1.16 have correct support to get RTSP with H264 encoded video
(using rtspsrc) and sent it to WebRTC (using webrtcbin) without transcoding
and finally plat it in last Chrome version.

Has anybody tried this?

thanks




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

Re: RTSP to WEBRTC without h264 transcoding

Sean DuBois
Yes this is easily possible!

I don’t have access to my laptop but when playing with GStreamer did webrtcbin from rtmpsrc and rtspsrc 

I ended up using RTSPToWebRTC https://github.com/deepch/RTSPtoWebRTC though

On Jul 31, 2020, at 01:52, pasifus <[hidden email]> wrote:

Hi devs,
Is Gstreamer 1.16 have correct support to get RTSP with H264 encoded video
(using rtspsrc) and sent it to WebRTC (using webrtcbin) without transcoding
and finally plat it in last Chrome version.

Has anybody tried this?

thanks




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: RTSP to WEBRTC without h264 transcoding

pasifus
and what gstreamer pipeline you used?




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

Re: RTSP to WEBRTC without h264 transcoding

evaluat0r
pasifus wrote
> and what gstreamer pipeline you used?
>
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel@.freedesktop

> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

I don't think you can do this because if a PLI or intra frame request is
made, then you have to respond to that. But RTSP doesn't understand those
requests so your webrtc sender would have to decode and encode the h264 or
vp8 data.



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

Re: RTSP to WEBRTC without h264 transcoding

Marc Leeman

From experience, you can create a pipeline that takes in whatever data (be it RTSP or something else) and send it to a WebRTC element. You don't really need to reply to I-Frame requests and such.

The only trick is that WebRTC has non-standard signalling; so you'll need to handle that in some way or you'll need to hardcode about everything you can.

In general, the pipelines I used was something along the lines of

uridecodebin uri=..... caps="video/x-vp9; video/x-vp8; video/x-h264; video/x-h265" ! parser ! payloader ! webrtcsink uri=....

Of course this was unidirectional.

By doing this, you could easily send feeds from standard cameras over (IIRC) amazon cloud to some browser on a hand held device.

Unfortunately, management lost interest; and this code is now rotting in some git repo :-(



On Fri, 7 Aug 2020 at 09:00, evaluat0r <[hidden email]> wrote:
pasifus wrote
> and what gstreamer pipeline you used?
>
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel@.freedesktop

> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

I don't think you can do this because if a PLI or intra frame request is
made, then you have to respond to that. But RTSP doesn't understand those
requests so your webrtc sender would have to decode and encode the h264 or
vp8 data.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


--
g. Marc

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

Re: RTSP to WEBRTC without h264 transcoding

evaluat0r
Marc Leeman wrote

> From experience, you can create a pipeline that takes in whatever data (be
> it RTSP or something else) and send it to a WebRTC element. You don't
> really need to reply to I-Frame requests and such.
>
> The only trick is that WebRTC has non-standard signalling; so you'll need
> to handle that in some way or you'll need to hardcode about everything you
> can.
>
> In general, the pipelines I used was something along the lines of
>
> uridecodebin uri=..... caps="video/x-vp9; video/x-vp8; video/x-h264;
> video/x-h265" ! parser ! payloader ! webrtcsink uri=....
>
> Of course this was unidirectional.
>
> By doing this, you could easily send feeds from standard cameras over
> (IIRC) amazon cloud to some browser on a hand held device.
>
> Unfortunately, management lost interest; and this code is now rotting in
> some git repo :-(
>
>
>
> On Fri, 7 Aug 2020 at 09:00, evaluat0r &lt;

> volatileconst@

> &gt; wrote:
>
>> pasifus wrote
>> > and what gstreamer pipeline you used?
>> >
>> >
>> >
>> >
>> > --
>> > Sent from: http://gstreamer-devel.966125.n4.nabble.com/
>> > _______________________________________________
>> > gstreamer-devel mailing list
>>
>> > gstreamer-devel@.freedesktop
>>
>> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>> I don't think you can do this because if a PLI or intra frame request is
>> made, then you have to respond to that. But RTSP doesn't understand those
>> requests so your webrtc sender would have to decode and encode the h264
>> or
>> vp8 data.
>>
>>
>>
>> --
>> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
>> _______________________________________________
>> gstreamer-devel mailing list
>>

> gstreamer-devel@.freedesktop

>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
> --
> g. Marc
>
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel@.freedesktop

> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

Where the pipeline breaks down is when the bitrate needs to change. You
can't respond to a client's request to lower the bitrate without also
transcoding video.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel