Problems with multicast RTSP stream if no default gateway is defined
Nicolas Dufresne
nicolas at ndufresne.ca
Thu Sep 17 15:00:30 UTC 2020
Le jeudi 17 septembre 2020 à 15:03 +0200, Guillermo Rodriguez Garcia a
écrit :
> Hi all,
>
> I am trying to play a multicast RTSP stream using GStreamer and I am
> seeing some unexpected behaviour. This is a simplified version of the
> pipeline I am using:
>
> gst-launch-1.0 rtspsrc location=rtsp://192.168.0.216 ! rtph264depay !
> avdec_h264 ! videoconvert ! videoscale ! fakesink
>
> The RTSP source and the machine running GStreamer are both in an
> isolated LAN (192.168.0.xxx). There is no "default gateway" defined.
>
> The above pipeline results in errors ("Error joining multicast group:
> No such device").
I believe you are missing a route that would tell your system which
network interface to use. If I'm right, you can solve this using
`multicast-iface` property. The iface name is platform specific, you
will need your own code to find it.
>
> [...]
> 0:00:00.146730467 [333m 2432 [00m 0x55d24c1894a0 [33;01mWARN [00m
> [00m udpsrc
> gstudpsrc.c:1582:gst_udpsrc_open:<udpsrc0> [00m error: could not add
> membership: Error joining multicast group: No such device
> 0:00:00.146782947 [333m 2432 [00m 0x55d24c1894a0 [31;01mERROR [00m
> [00m udpsrc
> gstudpsrc.c:1661:gst_udpsrc_close:<udpsrc0> [00m Failed to leave
> multicast group: Error leaving multicast group: No such device
> 0:00:00.147097556 [333m 2432 [00m 0x55d24c1894a0 [33;01mWARN [00m
> [00m udpsrc
> gstudpsrc.c:1582:gst_udpsrc_open:<udpsrc1> [00m error: could not add
> membership: Error joining multicast group: No such device
> 0:00:00.147154020 [333m 2432 [00m 0x55d24c1894a0 [31;01mERROR [00m
> [00m udpsrc
> gstudpsrc.c:1661:gst_udpsrc_close:<udpsrc1> [00m Failed to leave
> multicast group: Error leaving multicast group: No such device
> 0:00:00.148073188 [333m 2432 [00m 0x55d24c1894a0 [31;01mERROR [00m
> [00m rtspsrc
> gstrtspsrc.c:4640:gst_rtspsrc_stream_configure_udp_sinks:<rtspsrc0> [00m
> failed to create socket
> 0:00:00.148101780 [333m 2432 [00m 0x55d24c1894a0 [33;01mWARN [00m
> [00m rtspsrc
> gstrtspsrc.c:4744:gst_rtspsrc_stream_configure_transport:<rtspsrc0> [00m
> failed to configure transport
>
> I thought that this was because rtspsrc didn't know which interface to
> use for multicast. So I tried:
>
> gst-launch-1.0 rtspsrc multicast-iface=enp0s3 ! ....
>
> This doesn't work either, although a different error is reported:
>
> [...]
> Progress: (open) Opened Stream
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> Progress: (request) Sending PLAY request
> Progress: (request) Sending PLAY request
> 0:00:00.154308014 [335m 3790 [00m 0x7fdd44031a30 [33;01mWARN [00m
> [00m multiudpsink
> gstmultiudpsink.c:686:gst_multiudpsink_send_messages:<udpsink0> [00m
> warning: Error sending UDP packets
> 0:00:00.154344693 [335m 3790 [00m 0x7fdd44031a30 [33;01mWARN [00m
> [00m multiudpsink
> gstmultiudpsink.c:686:gst_multiudpsink_send_messages:<udpsink0> [00m
> warning: client 239.0.0.1:5000, reason: Error sending message: Network
> is unreachable
> WARNING: from element
> /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSink:udpsink0: Error
> sending UDP packets
> Additional debug info:
> ../gst/udp/gstmultiudpsink.c(686): gst_multiudpsink_send_messages ():
> /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSink:udpsink0:
> client 239.0.0.1:5000, reason: Error sending message: Network is unreachable
>
> If I define a default gateway in the machine running GStreamer, then
> everything works.
>
> Is this normal? Why do I need a default gateway to be able to send
> packets to a multicast address (which is not routed anywhere) ?
>
> Best regards,
>
> Guillermo Rodriguez Garcia
> guille.rodriguez at gmail.com
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list