Hello,
We are currently trying to stream a .mp4 video sample from our servers over RTSP using RTP with a multicast address (for some reasons, we cannot use a different setup). The fact is that getting the .sdp file is impossible using the 2.2.8 version, although this is achievable with the older 2.1.5 version. Default preferences are used.
The player used to send data from the server is vlc 2.1.6 launched with the following commandline:
vlc /tmp/test.mp4 --repeat --sout="#rtp{dst=230.0.100.10,port=31300,sdp=rtsp://192.168.100.12:8554/test.sdp,mux=ts,ttl=10}" -I dummy --verbose=2 --extraintf logger --rtsp-mcast
The error on the client is (truncated version):
VLC is unable to open the MRL 'rtsp://192.168.100.12:8554/test.sdp'. Check the log for details.
Console messages:
live555 error: SETUP of'video/MP2T' failed 461 Unsupported transport
live555 debug: setup start: 0.000000 stop:0.000000
live555 error: Nothing to play for rtsp://192.168.100.12:8554/test.sdp
core debug: no access_demux modules matched
core debug: creating access 'rtsp' location='192.168.100.12:8554/test.sdp', path='\\192.168.100.12:8554\test.sdp'
core debug: looking for access module matching "rtsp": 21 candidates
core debug: net: connecting to 192.168.100.12 port 8554
core debug: connection succeeded (socket = 1744)
access_realrtsp warning: Cseq mismatch, got 1, assumed 0
access_realrtsp debug: rtsp connected
access_realrtsp warning: only real/helix rtsp servers supported for now
core debug: no access modules matched
core error: open of `rtsp://192.168.100.12:8554/test.sdp' failed
core debug: finished input
core debug: dead input
core debug: changing item without a request (current 0/1)
core debug: nothing to play
qt4 debug: IM: Deleting the input
I have captured the RTSP data with Wireshark for both versions. The only difference I can notice is in the Transport: section of the SETUP request sent by the client (also note the different LIVE555 libraries):
[2.1.5]
SETUP rtsp://192.168.100.12:8554/test.sdp/trackID=0 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/2.1.5 (LIVE555 Streaming Media v2014.05.27)
Transport: RTP/AVP;multicast;client_port=31300-31301
RTSP/1.0 200 OK
Server: VLC/2.1.6
Date: Wed, 24 Jan 2018 15:14:41 GMT
Transport: RTP/AVP/UDP;destination=230.0.100.10;port=31300-31301;ttl=10;mode=play
Session: 1072007177;timeout=60
Content-Length: 0
Cache-Control: no-cache
Cseq: 4
[2.2.8]
SETUP rtsp://192.168.100.12:8554/test.sdp/trackID=0 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/2.2.8 (LIVE555 Streaming Media v2016.02.22)
Transport: RTP/AVP;multicast;port=31300-31301
RTSP/1.0 461 Unsupported transport
Server: VLC/2.1.6
Date: Wed, 24 Jan 2018 15:10:17 GMT
As you can see, the older version of the client sends a "client_port" information while the latest one sends a "port" parameter.
Could the trouble we are experiencing here be linked to this SETUP message ? Am I missing a configuration parameter or are just client v2.2.x and servers v2.1.x not compatible on this feature ? I can provide more debugging data if needed.
I know that RTSP is not meant for sending multicast data, but this is the case we need to achieve here.
Thanks,
Xavier