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 |
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:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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 |
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 |
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 -- g. Marc
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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 < > volatileconst@ > > 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 |
Free forum by Nabble | Edit this page |