SAT>IP: mux scan often fails with EIO
Added by Eric Woltermann over 4 years ago
Hi all,
referring to TVH 4.2.4 on Raspbian Stretch (Pi 2B).
I am trying to run TVH as an interface between a SAT>IP server (Xoro 8670 LAN, 192.168.2.222) and Kodi on a second RPi, since all players/PVR plugins I tried did not work with the offered RTSP streams directly. For comparison, VLC on Win10 plays the first stream fine, but fails upon switching channels.
Coming back to TVH, some muxes are scanned "OK", some are "OK (partial)", but most end up in "FAIL" state. Running "tcpflow -c host 192.168.2.222" in parallel to scanning a single mux, by setting its scan status to ACTIVE, yields:
192.168.002.004.40960-192.168.002.222.00554: SETUP rtsp://192.168.2.222/?src=1&fe=1&freq=10714.25&sr=22000&msys=dvbs2&mtype=8psk&pol=h&fec=23&ro=0.35&plts=on RTSP/1.0 Transport: RTP/AVP;unicast;client_port=57550-57551 CSeq: 1 192.168.002.222.00554-192.168.002.004.40960: RTSP/1.0 200 OK CSeq: 1 Transport: RTP/AVP;unicast;client_port=57550-57551;server_port=50000-50001 Session: 9d77efc1;timeout=60 com.ses.streamID: 51 192.168.002.004.40960-192.168.002.222.00554: PLAY rtsp://192.168.2.222/stream=51?pids=0,1,16,17 RTSP/1.0 Session: 9d77efc1 CSeq: 2 192.168.002.222.00554-192.168.002.004.40960: RTSP/1.0 200 OK CSeq: 2 Session: 9d77efc1;timeout=60 RTP-Info: rtsp://192.168.2.222/stream=51 192.168.002.004.40960-192.168.002.222.00554: PLAY rtsp://192.168.2.222/stream=51?pids=0,1,16,17 RTSP/1.0 Session: 9d77efc1 CSeq: 3 192.168.002.222.00554-192.168.002.004.40960: RTSP/1.0 200 OK CSeq: 3 Session: 9d77efc1;timeout=60 RTP-Info: rtsp://192.168.2.222/stream=51 192.168.002.004.40960-192.168.002.222.00554: PLAY rtsp://192.168.2.222/stream=51?pids=0,1,16,17 RTSP/1.0 Session: 9d77efc1 CSeq: 4 192.168.002.222.00554-192.168.002.004.40960: RTSP/1.0 200 OK CSeq: 4 Session: 9d77efc1;timeout=60 RTP-Info: rtsp://192.168.2.222/stream=51
A few seconds later the scan result is "FAIL". The TVH log reports:
satip: SAT>IP DVB-S Tuner #1 (192.168.2.222) - RTSP error -5 (Eingabe-/Ausgabefehler) [9874-200]
Another parallel tcpdump on UDP shows a lot of incoming data from the SAT>IP server during the scan, even though it does not really look like video data to me:
01:42:29.983547 IP 192.168.2.222.50001 > 192.168.2.4.50287: UDP, length 152 E.......@.%t.........Q.o........5.......c(o.(=>[email protected]=1.0;src=1;tuner=1,240,1,7,12402,v,dvbs,,,,27500,34;pids=0,16,56$ 01:42:29.983798 IP 192.168.2.222.50000 > 192.168.2.4.50286: UDP, length 72 E..d....@.%..........P.n.PF..!..(=>.5............................................................... 01:42:29.993472 IP 192.168.2.222.50000 > 192.168.2.4.50286: UDP, length 72 E..d....@.%..........P.n.PF..!..(=>.5...............................................................
(several sets consisting of one 152 byte packet and several 72 byte packets)
Some observations:- The Xoro box sometimes separates RTSP headers by a colon only, no white spaces. TVH's "http_tokenize()" cannot handle that by default, but TBH I could not figure out the exact code location of the scanning process...
- The next mux scan will fail with a 503 if it is started within less than 60 seconds, due to the stale session and the fact the receiver is a single tuner. According to my dump, TVH does not issue a TEARDOWN upon failure.
Any idea what could be wrong here?
BR,
Eric