(2020-12-16, 07:44)tmm1 Wrote: Hi, I'm looking at patching ffmpeg to ignore the DESCRIBE 404 as you suggested. But doesn't the DESCRIBE return the SDP required to setup the connection? If you can share your python script or wireshark, that would be helpful in figuring out what needs to happen inside ffmpeg.
Good morning
You are welcome :-)
I would like to show the wireshark traces for ffmpeg and VLC, because it nicely shows the differences when VLC is handling either the rstp.// or the satip:// prococol
First we do the ffmpeg request:
ffmpeg -i '
rtsp://192.168.1.99:554/?src=1&freq=12188&pol=h&ro=0.35&msys=dvbs&mtype=qpsk&plts=off&sr=27500&fec=34&pids=0,17,18,167,136,47,71' -acodec copy -vcodec copy test.mp4
Code:
OPTIONS rtsp://192.168.1.99:554/?src=1&freq=12188&pol=h&ro=0.35&msys=dvbs&mtype=qpsk&plts=off&sr=27500&fec=34&pids=0,17,18,167,136,47,71 RTSP/1.0
CSeq: 1
User-Agent: Lavf57.83.100
RTSP/1.0 200 OK
CSeq: 1
Date: Thu, 01 Jan 1970 00:19:02 GMT
Public: OPTIONS,DESCRIBE,SETUP,PLAY,TEARDOWN
DESCRIBE rtsp://192.168.1.99:554/?src=1&freq=12188&pol=h&ro=0.35&msys=dvbs&mtype=qpsk&plts=off&sr=27500&fec=34&pids=0,17,18,167,136,47,71 RTSP/1.0
Accept: application/sdp
CSeq: 2
User-Agent: Lavf57.83.100
RTSP/1.0 404 Not Found
CSeq: 2
So as you can see, ffmpeg (and other tried tools) fail on the DESCRIPE command
Now we try to start ffmeg with a satip:// request
ffmpeg -i '
satip://192.168.1.99:554/?src=1&freq=12188&pol=h&ro=0.35&msys=dvbs&mtype=qpsk&plts=off&sr=27500&fec=34&pids=0,17,18,167,136,47,71' -acodec copy -vcodec copy test.mp4
and we get the error message
satip://192.168....: Protocol not found
So ffmpeg obviously don't know a satip
(
Now we trying VLC. We can start VLC with both rtsp:// or satip://, both is accepted
vlc '
rtsp://192.168.1.99:554/?src=1&freq=11494&pol=h&ro=0.35&msys=dvbs2&mtype=8psk&plts=on&sr=22000&fec=23&pids=0,17,18,5100,5101,5102,5104'
or
vlc '
satip://192.168.1.99:554/?src=1&freq=11494&pol=h&ro=0.35&msys=dvbs2&mtype=8psk&plts=on&sr=22000&fec=23&pids=0,17,18,5100,5101,5102,5104'
The communication is the same (!) in both cases. As you can see, VLC is using different commands even for the rtsp:// request. These commands follow the
SATIP specification, but probably not the RTSP spec..
Code:
SETUP rtsp://192.168.1.99:554/?src=1&freq=11494&pol=h&ro=0.35&msys=dvbs2&mtype=8psk&plts=on&sr=22000&fec=23&pids=0,17,18,5100,5101,5102,5104 RTSP/1.0
CSeq: 0
Transport: RTP/AVP;unicast;client_port=9088-9089
RTSP/1.0 200 OK
CSeq: 0
Date: Thu, 01 Jan 1970 00:02:45 GMT
Session: AB18C70;timeout=60
Transport: RTP/AVP;unicast;destination=192.168.1.85;source=192.168.1.99;client_port=9088-9089
com.ses.streamID: 1
PLAY rtsp://192.168.1.99:554/stream=1 RTSP/1.0
CSeq: 1
Session: AB18C70
RTSP/1.0 200 OK
CSeq: 1
Date: Thu, 01 Jan 1970 00:02:45 GMT
Session: AB18C70
RTP-info: url=rtsp://192.168.1.99/stream=1
TEARDOWN rtsp://192.168.1.99:554/stream=1 RTSP/1.0
CSeq: 2
Session: AB18C70
RTSP/1.0 200 OK
CSeq: 2
Date: Thu, 01 Jan 1970 00:02:51 GMT
Session: AB18C70
After the PLAY command, the server is sending UPD RTP packets to the destination ip and port, which can be received there even with Kodi as rtp://0.0.0.0:client_port[0]
The TEARDOWN command is sent at the end when stopping the player to release the server stream resources.
My work-in-progress source you can find here in
https://paste.kodi.tv/lazubodogu
I hope this infomation might help. Of course it would be marvelous if you could extend ffmeg to the satip:// protocol. That would not only help me, it also would enable that other Kodi plugins like the Simple IPTV could use SAT>IP hardware natively without the need of having a "translator" like tvheadend or dvbviewer in between.
If there's anything I could help you with, please let me know
regards
Steffen