UriDecodeBin with multicast RTP H264 - no RTSP

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


Hi,

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

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

m_videoConvertElement = gst_element_factory_make("d3d11colorconvert",
"videoconvert");

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://192.168.60.10/h264" - then all
works fine.

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

"udp://239.0.0.57:5028"

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

GstCaps* caps_obj =
gst_caps_from_string("application/x-rtp,media=video,clock-rate=90000,encoding-name=H264");
g_object_set(source, "caps", caps_obj, NULL);
gst_caps_unref(caps_obj);

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://239.0.0.57:5028
caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=H264" !
rtph264depay ! h264parse ! decodebin ! videoconvert ! autovideosink

Many thanks,

Gareth
-------------- 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