Ever since I went all-in on Plex in 2016, I’ve been slowly but surely moving away from bigger streaming services and toward more self-hosted and distributed, open alternatives. Up until a few weeks ago, I was primarily using Plex, Pocket Casts, and YouTube for everything I watched. The latter of which I’ve been trying to cut back on by replacing it with more podcasts, Odysee, and other alternative platforms.
I would occasionally dabble with Pluto, Plex’s Live TV feature, and even Channels paired with an HDHomeRun for over-the-air television. But none of it ever stuck for me. Pluto’s Apple TV app has always been dreadful to use. Plex’s Live TV feature didn’t have many good stations and randomly lost Buzzr — one of the few I actually enjoyed. And there was a restructuring of over-the-air stations in my area a couple years ago, which made it nearly impossible for us to consistently get more than a channel or two.
I’ve found something better, though. Something distributed and something that feels like the heyday of over-the-air television or C-band satellite for the internet age. Internet protocol television or IPTV.
Now, that’s often used as an umbrella term to refer to any and all video streaming on the web. In this case, though, I’m referring specifically to .m3u and .m3u8 playlists. There are for-pay providers that sell access to these, but those all seem to be of questionable legality and not the kind of sites I would want to enter my credit card information into.
There are, however, legal and freely available streams on the web. There’s probably a bunch of resources for finding them, but I came across a GitHub repository that looks to be regularly updated and has a wide variety of streams available. They’re categorized by region, language, genre, and more.
So how does it actually work? Well, it works a lot like podcast apps did back before they all included integrated indexes. You copy a link to the playlist file you want to use and paste it into your IPTV app of choice. The app will parse the playlist file and give you a list of channels to watch.
In my case, I copied the link for the United States playlist and pasted it into iPlayTV on my Apple TV using the excellent keyboard/remote control feature on my iPhone. You can give the playlist any name you like within the app, I simply went with “Internet Protocol Television”. You can also, optionally, enter a link to an electronic program guide (EPG) file, which the app can use to indicate what’s playing on a given station. I used the United States one from the sister repository.
I have access to about 1900 stations with this setup. To be fair, the overwhelming majority of those I will never actually watch. But I went through and saved all of the most interesting streams as favorites, which gives me about 35 channels to choose from
In frequent rotation is Laff, MeTV, the aforementioned Buzzr, and Rewind TV. It’s a lot of old sitcoms and game shows, but that’s kind of my jam anyway. There are plenty of other channels, of course, from a wide variety of genres — you’ll likely find something you enjoy regardless of the type of content you tend to watch.
I’ve never been too much of a fan of linear television programming. With ads and a limited number of channels, you’re kind of stuck watching what’s available and often times have to sit through a bunch of ads to do it.
Those problems still exist, but there is something nice about having a smaller number of options to choose from. And within those options, not having to decide what episode to watch. With the size of my Plex library, analysis paralysis is a common occurrence. With this IPTV setup, it’s nice to just glance through the channel list and only have to decide whether you want to watch Dick Van Dyke or Match Game.
Aside from the existence of ads, there are other downsides. One of the most notable is that the guide feature within iPlayTV, appears to display every single channel it has guide data for, regardless of whether you have access to that channel or not. So I just stick to the Channels tab and, while playing a channel, use the swipe gestures to view program guide data, which will only show you information for your current category — favorites, in my case.
There is a bit of work to get it set up. As I mentioned, I went through and favorited all the channels I might want to watch — that takes a bit of time. Some of the channels are non-English, some streams just isn’t working, or the content it’s playing doesn’t match what the playlist thinks it is. That can be tedious to wade through. Luckily, the app supports syncing over iCloud, though, so I don’t have to add the playlist and favorite channels on each of my three Apple TVs individually.
There’s also the occasional issue of channels being removed or added to the playlist — as channels get taken down or are no longer accessible. The day after I got it all setup a few of the channels I favorited just disappeared on me. One of them eventually returned and luckily iPlayTV still had it saved in my favorites section. The app also does a great job of highlighting newly added channels — giving them a red border in the channel list and their own dedicated section in the sidebar.
None of this is a deal breaker for me, though. Once it’s all configured, there’s very little effort to keep it up and running. Sometimes a channel I watch will disappear, but I haven’t had this happen with anything I watch regularly. It’s always been one of the oddball channels that I have favorited because I might watch it.
There’s still a lot to explore for me in the world of IPTV — I’ve only set it up on the Apple TV so far. Unfortunately, iPlayTV is Apple TV-only. I’ll have to do some digging to see if there are good options on iPad and iPhone. I have Awesome IPTV on my list of resources to dig through, which includes options for apps, providers, and more. It’s been a pretty fun and entertaining experience so far and I’m looking forward to spending more time on this little project going forward.