IPTV is an insteresting solution for accessing live TV contents that are hard to reach using other media. Also, avoids having to install a Satellite TV antenna (so 80s). You just need to subscribe to an IPTV service or to get one of the many free channels out there. A Raspberry PI also works well as a device permanently connected to a big screen or even a beamer, without having to spend the money on a laptop or an android device that is unable to upgrade its software.
For this guide we are gonna use LibreElec 8.x, so any minor version on the 8 series should work. It can be also valid for other versions, and also it can be installed using Kodi only on Raspbian or any similar distro. It should also be valid for installing it on another device like a PC or an Android device.
For these tutorial, the following requirements are required:
- A Raspberry Pi. Better a 2 or 3 version, but the original should also work for low resolution channels.
- At least 8 Gb. SD card. We don’t need more either if you only want to do streaming. But if want to store some videos or other content, you probably will need more space.
- A list of channels (.m3u file), obtained from an IPTV subscription or similar.
One of the advantages of LibreElec is that you can use an installer that downloads the image and copies it to the SD card. Be careful: installing it into the card will wipe out all contents on it.
On the first boot, a wizard will popup to help you to quickly configure the system.
One of the first questions is the name of the host. This is, the name you will be able to access the Raspberry PI on the local network, using SSH, Samba or a similar protocol.
You can keep the default hostname, LibreELEC, or change it to a more familiar one. It’s not important unless you plan to access the Pi from another device.
When you finish the configuration, simply click on “Next” and you will be handled to the main interface.
On the sidebar you will see the main menu, from there you can access the items on the right side. You can also see the “TV” option, we’ll come back to that later.
But first, select the “Add-ons” option and from there, the LibreELEC configuration.
Select the “Download” option and then “PVR clients”, as IPTV addons fall into that category.
In the next menu, look for “PVR IPTV Simple Client”, click on it and it will be downloaded internally.
Now we have to enable and configure it, so go the “My add-ons” option.
Select “PVR Clients”.
Choose again our beloved plugin.
And then “Configure”. You will need to come here every time you need to change the channel list or do some other adjusment.
In this view, you need the .m3u url that you got from the subscription service. Here you will have several options, but the most interesting are on the “General” card:
- Location. It refers to the m3u source and you can choose either local or remote. Remote is interesting because in case the internal urls in the m3u file change, you will not need do anything. In case you choose remote, the next option will ask you for an url or ipaddress, where the m3u file can be retrieved. In case you choose local, you will be able to choose a file from the filesystem, that you have previously uploaded to the Pi.
- Cache m3u at local storage. In case you don’t want to download the m3u file every time you boot or restart the device. Also helpful you use a temporal server for providing that file.
- Numbering channel starts at. This is a matter of personal preference, default is 1.
And that’s it.
Now, restart the PI, then after the system loads the channels, you will be able to choose the TV option for browsing and watching them. If you have a SmartTV, you will be able to navigate using your remote controls, no need to use a keyboard or mouse. It’s possible to get a Raspberry Pi compatible bluetooth remote or even reuse your old one!
Let me know if this guide has been useful to you and how could be improved. I wrote it because I wanted to have documented how to configure IPTV on a Pi, without having to figure out every time. Enjoy!