MythTV v31, IPTV, REEBOX and redirects

Have a MythTV related problem? Ask for help from other MythTV users here.

Moderator: Forum Moderators

Post Reply
RoadyRunner
Newcomer
Posts: 1
Joined: Sun Jun 14, 2020 6:48 pm
United States of America

MythTV v31, IPTV, REEBOX and redirects

Post by RoadyRunner »

Hello,

I'm trying to add some IPTV channels provided by my local fiber provider using the freebox tuner. I don't want all - just a handful so I've taken their .m3u file, modified it (to add the correct XMLTV information for the EPG from SchedulesDirect) and am hosting it locally.

VLC has no issue playing the streams. They are H.264 AVC and would seem to be compatible.

Here is the issue. The URL in the M3U includes a username and password. This is used by the IPTV provider to generate an authentication token and they then issue a 302 response to redirect the user agent to the final IP address, port and with a nonce-token (this token changes each time - and they cannot be reused).

The problem is when tuning the channel the frontend shows 'IL__ Partial Lock' but the channel times out. The backend log shows this:

Code: Select all

Jun 14 13:53:25 myth-backend-domain-com mythbackend: mythbackend[33070]: I ProcessRequest mainserver.cpp:1770 (HandleAnnounce) MainServer: adding: pi(55dbb82beca0) as a client (events: 0)
Jun 14 13:53:25 myth-backend-domain-com mythbackend: mythbackend[33070]: I TVRecEvent tv_rec.cpp:1057 (HandleStateChange) TVRec[5]: Changing from None to WatchingLiveTV
Jun 14 13:53:25 myth-backend-domain-com mythbackend: mythbackend[33070]: I TVRecEvent tv_rec.cpp:3662 (TuningFrequency) TVRec[5]: TuningFrequency
Jun 14 13:53:25 myth-backend-domain-com mythbackend: mythbackend[33070]: I TVRecEvent channelutil.cpp:2048 (GetIPTVTuningData) Loaded [data][REDACTED-INITIAL-URL][fectype][fec0][fec1] for 30004
Jun 14 13:53:25 myth-backend-domain-com mythbackend: mythbackend[33070]: N CoreContext autoexpire.cpp:242 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 14 min
Jun 14 13:53:26 myth-backend-domain-com mythbackend: mythbackend[33070]: N TVRecEvent recordinginfo.cpp:678 (ApplyRecordRecGroupChange) ApplyRecordRecGroupChange: LiveTV to LiveTV (2)
Jun 14 13:53:26 myth-backend-domain-com mythbackend: mythbackend[33070]: I TVRecEvent recorders/httptsstreamhandler.cpp:95 (HTTPTSStreamHandler) HTTPTSSH[5]([REDACTED-INITIAL-URL]): ctor
Jun 14 13:53:46 myth-backend-domain-com mythbackend: mythbackend[33070]: E TVRecEvent tv_rec.cpp:3967 (TuningSignalCheck) TVRec[5]: TuningSignalCheck: Hit pre-fail timeout
Jun 14 13:53:56 myth-backend-domain-com mythbackend: mythbackend[33070]: W TVRecEvent tv_rec.cpp:3995 (TuningSignalCheck) TVRec[5]: TuningSignalCheck: taking more than 30000 ms to get a lock. marking this recording as 'Failing'.
Jun 14 13:53:56 myth-backend-domain-com mythbackend: mythbackend[33070]: W TVRecEvent tv_rec.cpp:4000 (TuningSignalCheck) TVRec[5]: See 'Tuning timeout' in mythtv-setup for this input
Jun 14 13:54:18 myth-backend-domain-com mythbackend: mythbackend[33070]: I MythSocketThread(51) mainserver.cpp:7856 (connectionClosed) Monitor sock(55dbb839d5f0) 'myth-backend-domain-com' disconnected
Finally - running tcpdump on the backend I can see that it's issueing the GET request to my provider - getting the 302 respponse with the correct 'Location' header to the stream endpoint - but the backend simply retries the original URL. It's not following the 302.

As mentioned - VLC has no trouble here.

Is there an easy fix for this?
Post Reply