Auto plugger for RTP Depay

Olivier Crête olivier.crete at collabora.com
Fri Jun 12 13:47:31 UTC 2020


Hi,
You need to send H264 and H265 with a different payload type, for
example, one with 96 and one with 97. Then instead of putting the caps
in the pipeline, you need to listen to the "request-pt-map" signal on
the rtpjitterbuffer and reply with the right caps for the payload type.
Olivier
On Thu, 2020-06-11 at 22:05 -0500, josh wrote:
> You are correct decodebin works but only if you set the specific caps
> i.e.
> gst-launch-1.0 -v udpsrc port=10000 !application/x-
> rtp,media=video,encoding-name=H264,clock-rate=90000,payload=96!
> rtpjitterbuffer ! decodebin ! videoconvert ! queue max-size-buffers=3 
> !autovideosink
> However if I don't know whether it's H264 or H265 how do i set the
> caps? 
> Using parsebin like this doesn't work...
> gst-launch-1.0 -v udpsrc port=10000 !application/x-
> rtp,media=video,clock-rate=90000,payload=96 ! rtpjitterbuffer!
> parsebin ! decodebin ! videoconvert ! queue max-size-buffers=3
> !autovideosink
> It gives fails with...
> Setting pipeline to PAUSED ...Pipeline is live and does not need
> PREROLL ...Got context from element 'autovideosink0':
> gst.gl.GLDisplay=context,gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDispl
> ayCocoa\)\ gldisplaycocoa0";Setting pipeline to PLAYING ...New clock:
> GstSystemClock/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad
> :src: caps =application/x-rtp, media=(string)video, clock-
> rate=(int)90000,payload=(int)96/GstPipeline:pipeline0/GstRtpJitterBuf
> fer:rtpjitterbuffer0.GstPad:sink: caps= application/x-rtp,
> media=(string)video, clock-
> rate=(int)90000,payload=(int)96/GstPipeline:pipeline0/GstRtpJitterBuf
> fer:rtpjitterbuffer0.GstPad:src: caps= application/x-rtp,
> media=(string)video, clock-
> rate=(int)90000,payload=(int)96/GstPipeline:pipeline0/GstParseBin:par
> sebin0.GstGhostPad:sink.GstProxyPad:proxypad0:caps = application/x-
> rtp, media=(string)video, clock-
> rate=(int)90000,payload=(int)96/GstPipeline:pipeline0/GstParseBin:par
> sebin0/GstTypeFindElement:typefind.GstPad:src:caps = application/x-
> rtp, media=(string)video, clock-
> rate=(int)90000,payload=(int)96Missing element: application/x-rtp
> decoderERROR: from element
> /GstPipeline:pipeline0/GstParseBin:parsebin0: YourGStreamer
> installation is missing a plug-in.Additional debug
> info:../gst/playback/gstparsebin.c(3487): gst_parse_bin_expose
> ():/GstPipeline:pipeline0/GstParseBin:parsebin0:no suitable plugins
> found:Missing parser: application/x-rtp (application/x-rtp,
> media=(string)video,clock-rate=(int)90000, payload=(int)96)
> Execution ended after 0:00:02.371224000
> 
> 
> 
> 
> Nicolas Dufresne-5 wrote
> > Le jeudi 11 juin 2020 à 09:39 -0500, josh a écrit :
> > > I'm not sure if I can use parsebin. Here’s my pipeline : 
> > > gst-launch-1.0 udpsrc port=10000 ! application/x-rtp !
> > > rtpjitterbuffer !rtph264depay ! decodebin ! videoconvert ! queue
> > > max-size-buffers=3 !autovideosink
> > 
> > You "should" be able to simply drop rtph264depay and let
> > decodebinhandle it.
> > > To decode H265 I need to replace rtph264depay with rtph265depay.
> > > Ibelieve Iwant to use rtpbin but it doesn't work when I tried it.
> > > 
> > > 
> > > Tim Müller wrote
> > > > On Thu, 2020-06-11 at 01:50 -0500, josh wrote:
> > > > Hi Josh,
> > > > > Is there an auto plugger like decodebin for RTP Depaying? I'm
> > > > > usingudpsrc and would like to either use rtph264depay or
> > > > > rtph265depaydepending on what udpsrc receives then pass to
> > > > > decodebin.
> > > > 
> > > > parsebin might do the job.
> > > > You might also want to add an rtpjitterbuffer after udpsrc, in
> > > > case youhaven't got one yet.
> > > > Cheers Tim
> > > > 
> > > > -- Tim Müller, Centricular Ltd - http://www.centricular.com
> > > > 
> > > > _______________________________________________gstreamer-devel
> > > > mailing listgstreamer-devel at .freedesktop
> > > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > > 
> > > 
> > > 
> > > --Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> > > _______________________________________________gstreamer-devel
> > > mailing list
> > gstreamer-devel at .freedesktop
> > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > 
> > _______________________________________________gstreamer-devel
> > mailing list
> > gstreamer-devel at .freedesktop
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 
> 
> 
> 
> --Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________gstreamer-devel
> mailing listgstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-- 
Olivier Crête
olivier.crete at collabora.com


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200612/f2994eb2/attachment.htm>


More information about the gstreamer-devel mailing list