<html dir="ltr"><head></head><body style="text-align:left; direction:ltr;"><div>Hi,</div><div><br></div><div>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.</div><div><br></div><div>Olivier</div><div><br></div><div>On Thu, 2020-06-11 at 22:05 -0500, josh wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre>You are correct decodebin works but only if you set the specific caps i.e.</pre><pre><br></pre><pre>gst-launch-1.0 -v udpsrc port=10000 !</pre><pre>application/x-rtp,media=video,encoding-name=H264,clock-rate=90000,payload=96</pre><pre>! rtpjitterbuffer ! decodebin ! videoconvert ! queue max-size-buffers=3 !</pre><pre>autovideosink</pre><pre><br></pre><pre>However if I don't know whether it's H264 or H265 how do i set the caps? </pre><pre><br></pre><pre>Using parsebin like this doesn't work...</pre><pre><br></pre><pre>gst-launch-1.0 -v udpsrc port=10000 !</pre><pre>application/x-rtp,media=video,clock-rate=90000,payload=96 ! rtpjitterbuffer</pre><pre>! parsebin ! decodebin ! videoconvert ! queue max-size-buffers=3 !</pre><pre>autovideosink</pre><pre><br></pre><pre>It gives fails with...</pre><pre><br></pre><pre>Setting pipeline to PAUSED ...</pre><pre>Pipeline is live and does not need PREROLL ...</pre><pre>Got context from element 'autovideosink0': gst.gl.GLDisplay=context,</pre><pre>gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0";</pre><pre>Setting pipeline to PLAYING ...</pre><pre>New clock: GstSystemClock</pre><pre>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =</pre><pre>application/x-rtp, media=(string)video, clock-rate=(int)90000,</pre><pre>payload=(int)96</pre><pre>/GstPipeline:pipeline0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink: caps</pre><pre>= application/x-rtp, media=(string)video, clock-rate=(int)90000,</pre><pre>payload=(int)96</pre><pre>/GstPipeline:pipeline0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:src: caps</pre><pre>= application/x-rtp, media=(string)video, clock-rate=(int)90000,</pre><pre>payload=(int)96</pre><pre>/GstPipeline:pipeline0/GstParseBin:parsebin0.GstGhostPad:sink.GstProxyPad:proxypad0:</pre><pre>caps = application/x-rtp, media=(string)video, clock-rate=(int)90000,</pre><pre>payload=(int)96</pre><pre>/GstPipeline:pipeline0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src:</pre><pre>caps = application/x-rtp, media=(string)video, clock-rate=(int)90000,</pre><pre>payload=(int)96</pre><pre>Missing element: application/x-rtp decoder</pre><pre>ERROR: from element /GstPipeline:pipeline0/GstParseBin:parsebin0: Your</pre><pre>GStreamer installation is missing a plug-in.</pre><pre>Additional debug info:</pre><pre>../gst/playback/gstparsebin.c(3487): gst_parse_bin_expose ():</pre><pre>/GstPipeline:pipeline0/GstParseBin:parsebin0:</pre><pre>no suitable plugins found:</pre><pre>Missing parser: application/x-rtp (application/x-rtp, media=(string)video,</pre><pre>clock-rate=(int)90000, payload=(int)96)</pre><pre><br></pre><pre>Execution ended after 0:00:02.371224000</pre><pre><br></pre><pre><br></pre><pre><br></pre><pre><br></pre><pre><br></pre><pre>Nicolas Dufresne-5 wrote</pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre>Le jeudi 11 juin 2020 à 09:39 -0500, josh a écrit :</pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre>I'm not sure if I can use parsebin. Here’s my pipeline : </pre><pre><br></pre><pre>gst-launch-1.0 udpsrc port=10000 ! application/x-rtp ! rtpjitterbuffer !</pre><pre>rtph264depay ! decodebin ! videoconvert ! queue max-size-buffers=3 !</pre><pre>autovideosink</pre></blockquote><pre><br></pre><pre>You "should" be able to simply drop rtph264depay and let decodebin</pre><pre>handle it.</pre><pre><br></pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre><br></pre><pre>To decode H265 I need to replace rtph264depay with rtph265depay. I</pre><pre>believe I</pre><pre>want to use rtpbin but it doesn't work when I tried it.</pre><pre><br></pre><pre><br></pre><pre><br></pre><pre>Tim Müller wrote</pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre>On Thu, 2020-06-11 at 01:50 -0500, josh wrote:</pre><pre><br></pre><pre>Hi Josh,</pre><pre><br></pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre>Is there an auto plugger like decodebin for RTP Depaying? I'm using</pre><pre>udpsrc and would like to either use rtph264depay or rtph265depay</pre><pre>depending on what udpsrc receives then pass to decodebin.</pre></blockquote><pre><br></pre><pre>parsebin might do the job.</pre><pre><br></pre><pre>You might also want to add an rtpjitterbuffer after udpsrc, in case you</pre><pre>haven't got one yet.</pre><pre><br></pre><pre>Cheers</pre><pre> Tim</pre><pre><br></pre><pre><br></pre><pre>-- </pre><pre>Tim Müller, Centricular Ltd - </pre><a href="http://www.centricular.com"><pre>http://www.centricular.com</pre></a><pre><br></pre><pre><br></pre><pre>_______________________________________________</pre><pre>gstreamer-devel mailing list</pre><pre>gstreamer-devel@.freedesktop</pre><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel"><pre>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</pre></a><pre><br></pre></blockquote><pre><br></pre><pre><br></pre><pre><br></pre><pre><br></pre><pre>--</pre><pre>Sent from: </pre><a href="http://gstreamer-devel.966125.n4.nabble.com/"><pre>http://gstreamer-devel.966125.n4.nabble.com/</pre></a><pre><br></pre><pre>_______________________________________________</pre><pre>gstreamer-devel mailing list</pre><pre><br></pre></blockquote></blockquote><pre><br></pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre>gstreamer-devel@.freedesktop</pre></blockquote><pre><br></pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel"><pre>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</pre></a><pre><br></pre></blockquote><pre><br></pre><pre>_______________________________________________</pre><pre>gstreamer-devel mailing list</pre></blockquote><pre><br></pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre>gstreamer-devel@.freedesktop</pre></blockquote><pre><br></pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel"><pre>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</pre></a><pre><br></pre></blockquote><pre><br></pre><pre><br></pre><pre><br></pre><pre><br></pre><pre><br></pre><pre>--</pre><pre>Sent from: </pre><a href="http://gstreamer-devel.966125.n4.nabble.com/"><pre>http://gstreamer-devel.966125.n4.nabble.com/</pre></a><pre><br></pre><pre>_______________________________________________</pre><pre>gstreamer-devel mailing list</pre><a href="mailto:gstreamer-devel@lists.freedesktop.org"><pre>gstreamer-devel@lists.freedesktop.org</pre></a><pre><br></pre><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel"><pre>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</pre></a><pre><br></pre></blockquote><div><span><pre>-- <br></pre><div>Olivier Crête</div><div><a href="mailto:olivier.crete@collabora.com">olivier.crete@collabora.com</a></div><div><br></div></span></div></body></html>