UriDecodeBin with multicast RTP H264 - no RTSP

Gareth Alldread gda190672 at gmail.com
Tue Jun 27 13:39:55 UTC 2023


I have code to create a pipeline using UriDecodeBin.  The pipeline is
created like this:

m_videoSinkElement = gst_element_factory_make("d3d11videosink",
m_sourceElement = gst_element_factory_make("uridecodebin", "livesource");

m_videoConvertElement = gst_element_factory_make("d3d11colorconvert",

m_pipeline = gst_pipeline_new("live-pipeline");

gst_bin_add_many(GST_BIN(m_pipeline), m_sourceElement,
m_videoConvertElement, m_videoSinkElement, NULL);

 gst_element_link_many(m_videoConvertElement, m_videoSinkElement, NULL);

I am dynamically linking the rest in the "pad-added" signal handler.

If I use a URI along the lines of "rtsp://" - then all
works fine.

I have been trying to play video directly from an existing multicast feed
using a URI like the following:


Then in the "source-setup" signal handler for UriDecodeBin - I am setting
the caps on the UdpSrc element like:

GstCaps* caps_obj =
g_object_set(source, "caps", caps_obj, NULL);

I never get any video showing - and looking at the
"gst_debug_bin_to_dot_file" output - it shows that the UriDecodeBin output
pad never gets connected to the end of the pipeline.  Setting debug break
points - I can see that the "pad-added" handler never gets triggered.

Any help would be gratefully received. Note that the following works fine
for my camera:

gst-launch-1.0 udpsrc uri=udp://
caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=H264" !
rtph264depay ! h264parse ! decodebin ! videoconvert ! autovideosink

Many thanks,

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

More information about the gstreamer-devel mailing list