M3U from Tablo

The playlist stream is different every time you run the GET call. The stream you are referring to above is the sequential streaming for that particular station and playlist session. If I request a stream from two other channels and want to go back to the original. I have to generate a new playlist URL and has a completely different GUID. I found this mentioned in a third party app someone made.

Tablo has a developers group you can join to get full API access. But I'm not developing an app and found most of the API calls by using wireshark.

If you get a playlist, it expires after 6 hours and 20 minutes unless you request other streams. Tablo is indeed different from HDHomeRun.

so you need to store somewhere those URL for that particilar channels to be able to get back to it during that 6hourse 20 minutes. Some alias for ffmpeg command perhaps that first read URL from array and passing it to the ffmpeg itself. In my head it's doable :slight_smile:

My guess is that sequential streaming is in your case one stream url that is written inside m3u8 as relative link, try to change it for full URL and check how long does it play.

The problem is not storing the URLs for a period of time. I can script everything to generate the links and put them in M3U format. If I generate 2 playlists, those work.

As soon as I request a 3rd, one of the other two stop working. Requiring me to generate a new one if I want to watch that channel again. It has a limit of 2 functional playlists at a time.

Which wouldn't be a problem with full integration into an app. The app would limit you to 2 streams and request a new playlist when tuning to a new station.

You could write a simple proxy, which accepts HTTP requests for channelX.m3u8, and then makes the request to Tablo to create the actual playlist and redirect.

1 Like

Now we're getting somewhere - you didn't mention previously Tablo has 2 streams limit :slight_smile:

@tmm1 It would be like creating own API, so maybe even better request instead for channelX.m3u8 to some rewritten url like /tablo/channel/X

could you post an example how to create an endpoint that can redirect something to channels server?

I put together a simple docker container you can use to expose your Tablo tuners into Channels DVR

6 Likes