Neither the sdpsrc nor the sdpdemux element has a “rank”, which means they won’t be autoplugged (used) by decodebin(3), uridecodebin(3) and friends (playbin(3)).
Reason is that people don’t usually use SDP in an autoplug context. They either have a local file or download it and then they know it’s an SDP and use the right element themselves without involving decodebin.
I am writing a Qt application that uses QVideoWidget from Qt Multimedia framework. The widget gets passed a URL and the rest happens magically in the background. Looking into the source code and output using GST_DEBUG environment variable, I see that Qt uses playbin in the background. Thus it is not possible to set up my own pipeline, unless I reimplement the widget myself to expose gstreamer’s pipeline engine!
The video widget works successfully with a RTSP url, in gstreamer-speak it is the equivalent of
Looking at the network trace, a UDP MP4 stream gets set up from the camera to the client. On a large network with many cameras and many clients this 1:1 network connection becomes a problem, that is why I want to receive the multicast stream URL.
On AXIS cameras it is possible to permanantly stream to a multicast address. The details of the stream is published in SDP format using the URL
Maybe the GST_PLUGIN_FEATURE_RANK is a way to go, but what would it’s syntax look like? I am very puzzled.
BTW, both vlc and (s)mplayer accept the HTTP-SDP url out of the box.
I have spent countless hours in the internet on how to set up a gst-launch pipeline. Documentation on gstreamer.org very quickly points to the low level C interface and does not help explaining the gst-launch pipeline. Other information is very scarce and/or incomplete and/or incorrect and/or outdated.