Caution: This guide is intended for use with legally subscribed TV service. SmartHomeBeginner does not provide, host, or recommend any IPTV services that infringe copyrights.
Note: This guide only works with IPTV services that provide an m3u playlist.
IPTV has been growing in popularity along with other streaming services due to the cord-cutting trend. The increasing cost of traditional TV-watching methods and the ability to watch on-demand content with streaming services are the primary reasons for this trend. [Read: Plex vs Emby vs Kodi vs Jellyfin for IPTV]
But many people still love the traditional format and IPTV services give them that at a lower cost.
In simple terms, IPTV (Internet Protocol Television) refers to the content televised through the internet as opposed to traditional methods (cable, OTA, or satellite). Good examples include Netflix, Hulu, etc. But there are several illegitimate IPTV services that offer 1000s of live TV channels a very low price.
Typically, IPTV subscriptions cost significantly lower than cable or satellite.
Table of Contents
Some IPTV services offer as many as 5000 or more Live TV channels from around the world for only $20 (or less) per month. There are even some free (but unreliable) ones.
Due to this reason, hundreds of thousands of customers are investing in IPTV services and IPTV boxes that come preloaded with relevant apps.
But you do not really need a separate IPTV box, when you can watch IPTV on Plex. [Read: 10 Best Plex Client Devices [2022] – STUTTER-free Streaming]
Yes it still does (as on January 2020). But IPTV on Plex does not work as well as it used to before 2019.
Until about mid 2019, it was possible to watch IPTV on Plex using plugins. A Plex IPTV plugin, such as this one, reads live streams from an IPTV m3u file and passes them to Plex for playing. This allowed one to watch IPTV in Plex. [Read: 5 Reasons to use Plex instead of Kodi and 5 reasons not to]
These Plex IPTV plugins were also able to process the 100s or 1000s of channels in the m3u file and present them in a user-friendly manner to scroll and select IPTV channels to play.
September 2018 came and Plex announced the killing of plug-ins feature. This change would not allow IPTV plugins (or any plugins for that matter) to control what is played on Plex.
But this change is quite understandable as Plex's strategy became clear. Questionable 10 Best Plex Unofficial Channels 2017: Movies, TV Shows, Live TV would directly conflict with Plex's goal to stream ad-supported content and make paid channels and rentals available.
Be the 1 in 200,000. Help us sustain what we do. 79 / 150 by Dec 31, 2024 Join Us (starting from just $1.67/month)Plex is a great media server. But frankly, Plex's support for TV tuners and Live TV sucks. Kodi is a great alternative but it is not a media server.
Emby's Live TV feature is significantly better without the channel limitation of 480 that Plex has. A premium subscription is required to be able to access the Live TV feature on Emby [Read: Plex vs Emby: A Comprehensive Comparison]
Jellyfin, a new open-source alternative to Plex, performed way better in my testing than Plex for IPTV.
Like Emby, Jellyfin also has no limit on the number of channels. But unlike Emby, Jellyfin requires no subscription. With Emby and Jellyfin, you can completely circumvent xTeVe or TellyTv and use the m3u and EPG provided by your IPTV service directly.
With the recent changes in Plex's strategy, Jellyfin has seen an influx of several new users. This, in turn, has resulted in more contributors and active development.
Before you proceed, it is your responsibility to verify if you will be infringing any copyrights or breaking any local laws. We strong recommend protecting your identity with a good VPN. We recommend IPVanish which does not retain any logs (EXCLUSIVE 20% OFF DEAL).
Because of the changes described above most of the existing Plex IPTV guides currently available on the internet won't work. These how-tos are based on IPTV and M3U plugins, which are not supported by Plex anymore.
But Plex still allows the use of TV tuners. For example, one could use a SiliconDust HDHomeRun tuner to watch OTA channels on Plex.
Leveraging this TV tuner feature, it is possible to process IPTV m3u feeds and present them as TV channels from a hardware tuner. This is exactly what xTeVe and TellyTV do, both of which are free and open-source.
In short, xTeVe and TellyTV are IPTV proxies. They allow you to watch IPTV on Plex and other media servers (Jellyfin, Emby, etc.). In addition, you will also be able use Plex's built-in DVR function.
At the time of writing this Plex IPTV guide, xTeVe seems more developed and polished and that is what I will recommend. xTeVe has several features as listed here. But the unique features include a web interface for configuration and management, channel mapping, channel editing, and more.
TellyTv is working on version 1.5 which is supposed to include a web interface among other improvements. But at this point, xTeVe appears to be better and easier.
You only need one (xTeVe or TellyTv). But below, I am providing instructions to install and configure both.
Note that both xTeVe and TellyTv require port 1900 to be free. But Plex uses 1900. So you will have to map 1900 to another available port. This is quite easy to do if you are using Docker (described below).
Before you dive into this Plex IPTV guide, make sure you have the following requirements:
Another good tool to know is a m3u playlist editor. Two good examples are xtream-editor.com (paid) and m3u4u.com (free).
What is a m3u playlist editor?
A playlist editor allows you to create, edit, and sort 3 m3u playlists. What this means is that you can trim channels, categories them in to groups, and add missing EPG data before making it available to Plex for IPTV.
If you already have a Docker setup, then adding xTeVe or TellyTv to it is quite simple. If you are just getting started with Docker, then I strongly recommend my Docker Media server guide.
Having Docker and Docker Compose up and running is one additional requirement before we move forward with Plex IPTV setup. My GitHub repo has all my latest docker-compose files.
Windows and Mac users, there are installable binaries of xTeVe available for these platforms (as well as for ARM devices). So it is as simple as downloading and running / extracting the files to complete the installation. I still strongly recommend the Docker way.
xTeVe is available for multiple platforms. In this post, I will show you the Docker method. For other methods, download xTeVe from here and refer to xTeVe Wiki on GitHub.
Here is the Docker Compose snippet to use to install xTeVe using Docker.
# xTeve - IPTV proxy for Plex xteve: image: alturismo/xteve container_name: xteve hostname: xteve restart: unless-stopped networks: - default ports: - "34400:34400" - "1901:1900" #1900 used by Plex environment: TZ: $ volumes: - $/docker/xteve:/config:rw - /dev/shm:/tmp/xteve
xTeVe web interface should be available at http://LAN-IP:34400/web/. If you have Traefik Reverse Proxy and Google OAuth, then check my GitHub repo for the full docker-compose.
Note that you have to have $ and $ defined as explained in my Docker media server guide.
Upon successful completion of above step, if you start the xTeVe container and check the docker logs, you should see something like this.
Access xTeVe web interface to start the configuration process. The web-based configuration makes xTeVe so much better than TellyTv (at this time).
First enter the number of tuners. This should match the number of concurrent streams allowed by your IPTV provider.
In the next screen, choose XEPG for EPG Source, as shown below.
Next, enter the URL for your m3u playlist. This should be available from your IPTV provider.
Then enter the URL for XML Electronic Program Guide data. This again should be available from your IPTV provider.
Once that is done, the initial configuration is done and you should be taken to xTeVe's web interface. You will notice that XEPG Channels as 0 at the top (see the screenshot below). This is because the current number of channels is above 480 (Plex limit). So none will be available in Plex. You will need to apply Filters to reduce the number of channels and bring it down to less than 480.
Be the 1 in 200,000. Help us sustain what we do. 79 / 150 by Dec 31, 2024 Join Us (starting from just $1.67/month)Go to Filter and click on New to create a new filter, as shown below.
In the following screen, you may choose either of the options. But I am going to choose M3U: Group Title so I can filter channels based on the group titles provided by the IPTV Service.
Next, add IPTV channel filter parameters. An example of filtering ABC Local Networks is shown below. This will result in ABC stations from several USA locations. If you want to filter only your location station, then use the Include section to add your city's name. Hit Save and continue.
You should now see the number of available channels at the top of the screen, as highlighted below. The above filter resulted in about 20 Local ABC stations.
Next, go to Mapping and go through the list. Some stations have incomplete information (highlighted in Red). These stations will not be available on Plex. If an unavailable channel is import to you, you may edit them as described in xTeVe wiki to make them available on Plex.
Hit Save and you are done installating and configuring xTeve for Plex IPTV viewing.
TellyTV itself needs no installation. All you need to do is download and extract the files. However, installation is not as simple as that of xTeve. Docker method is shown below. Refer to TellyTv Wiki for other installation methods.
Here is the Docker Compose snippet to use to install TellyTv using Docker:
# Telly Tv- IPTV proxy for Plex tellytv: image: tellytv/telly:dev-ffmpeg container_name: tellytv hostname: tellytv ports: - "1902:1900/udp" # Plex uses 1900 environment: - TZ=$ network_mode: host volumes: - $/docker/telly/telly.config.toml:/etc/telly/telly.config.toml restart: unless-stopped
The dev-ffmpeg build has Telly 1.1, which supports filtering (discussed later) and includes ffmpeg dependency. Note that you have to have $ and $ defined as explained in my Docker media server guide.
In addition, you will have to create and edit telly.config.toml file before starting TellyTv will work to provide IPTV channels on Plex.
Save the docker-compose file and proceed to the next step.
A detailed walkthrough for creating and editing the telly.config.toml file is available here. I am providing a summary below.
To create the telly.config.toml file on Linux, navigate to $/docker/telly/ and use the following command:
curl -fLO https://github.com/tellytv/telly/wiki/files/examples/telly.config.toml
Alternatively, you can manually create the file inside $/docker/telly/ and copy-paste the example config.toml contents from here.
Again, refer to the wiki page linked above for details on editing the config file. Here are all the things that need to be edited.
As you can see, there is a limit of 480 channels. TellyTv container will error out and stop if the m3u list has more than 480 channels. However, most IPTV providers have well over 480 channels. Hence why filtering out all the unwanted channels is very important.
This is not a TellyTv problem. Plex does not behave well with over 480 channels. There are multiple ways to trim the list down to less than 480 channels. They are discussed here. We are going to use the filtering method to only select the channels or groups we like.
If you are outside the USA, and need to access USA channels then you will most likely have to use a VPN and select a VPN server in the USA to mimic your location as the USA. Even otherwise a VPN is strongly recommended to protect your identity.
Surfshark VPN Exclusive Offer - 82% off ($2.39/month):
♦ Hide your browsing (no logs), Anonymize Streaming and Downloads
♦ Wireguard Protocol support for VPN.
♦ Circumvent Geo/Country Restrictions and access worldwide content
♦ Works on Windows, Mac, Linux, Android, iOS, Router, and more
♦ 1 TB Encrypted Storage
♦ Money back guarantee - Sign Up Now
Here is an example telly.config.toml:
# THIS SECTION IS REQUIRED ######################################################################## [Discovery] # most likely you won't need to change anything here Device-Auth = "telly123" # These settings are all related to how telly identifies Device-ID = "12345678" # itself to Plex. Device-UUID = "" Device-Firmware-Name = "hdhomeruntc_atsc" Device-Firmware-Version = "20150826" Device-Friendly-Name = "tellytv" Device-Manufacturer = "Silicondust" Device-Model-Number = "HDTC-2US" SSDP = true # THIS SECTION IS REQUIRED ######################################################################## [IPTV] Streams = 1 Starting-Channel = 10000 XMLTV-Channels = true FFMpeg = true # THIS SECTION IS REQUIRED ######################################################################## [Log] Level = "info" Requests = true # THIS SECTION IS REQUIRED ######################################################################## [Web] Base-Address = "192.168.1.90:6077" Listen-Address = "0.0.0.0:6077" [[Source]] Name = "Beast" Provider = "Custom" M3U = "http://totalpackage.vodiptv.org:83/get.php?username=REDACTED&password=REDACTED&type=m3u_plus&output=ts" EPG = "http://totalpackage.vodiptv.org:83/xmltv.php?username=REDACTED&password=REDACTED&type=m3u&output=ts" Filter = "ABC LOCAL NETWORKS|CBS LOCAL NETWORKS" FilterKey = "group-title" FilterRaw = false Sort = "group-title" # END TELLY CONFIG ###############################################################################
Notice that the username and password are REDACTED from the links. In addition, "ABC LOCAL NETWORKS" and "CBS LOCAL NETWORKS" are filtered resulting in only about 73 channels. Check TellyTv's Wiki on filtering to learn more.
Upon successful completion of this step, if you start the TellyTv container and check the docker logs, you should see something like this.
Now that xTeVe / TellyTv is up and running let's move on to configuring IPTV on Plex. So let's go ahead and do that.
Go to Live TV & DVR in Plex server settings and click on SET UP PLEX DVR as shown below.
In the next screen, if the turner is not automatically found, click on Enter its network address manually. and enter the LAN IP address and port of the machine running TellyTv. In the example below, it is 192.168.1.90:34400 (for TellyTv, use port 6077 instead of 34400).
When you click CONTINUE Plex should automatically pickup the channels from your filtered IPTV m3u. As shown in the example below, 20 channels (73 in the case of TellyTv example shown in this guide) were picked up by Plex. Channel numbers may vary based on your xTeVe / TellyTv settings. Click CONTINUE.
In the next screen, you will be asked for your EPG (Electronic Program Guide) information. Click on Have an XMLTV guide on your server? Click here to use that instead and enter http://LAN-IP:34400/xmltv/xteve.xml (use http://LAN-IP:6077/epg.xml for TellyTv) for XMLTV GUIDE and anything for GUIDE TITLE. LAN-IP is the IP address of the machine running TellyTv (same as in previous step).
Then click CONTINUE. You will be presented with your channels and channel names based on your EPG data, as shown below. Go through the list and make sure they match well.
Finish the rest of the process to complete setting up TellyTv IPTV tuner for Plex. It may take some time for Plex to download the latest EPG data.
Plex will only update EPG data during restart. Therefore, you may have to restart Plex media server, if you make changes to your filters or channels list. Sometimes, I had to remove the DVR and re-add it.
That is it, you are done.
Now its time to test if everything worked. After the previous step, select VIEW GUIDE. Alternatively, you may select or select Live TV & DVR from Plex home screen. You should see information and channels from your IPTV provider as shown below.
Notice that some channels say Unknown Airing. This is because EPG data provided by most IPTV providers do not have all the information required by Plex. Plex will leave channels with incomplete EPG out of the guide and you won't have access to those channels.
With a paid EPG data provider such as iptv-epg.com you will have more complete EPG data and hence more working channels.
Now click and play a channel to test it out. When the first channel from the above screenshot was clicked, it played perfectly on Plex as shown below.
IPTV services such as Youtube TV, Sling, Netflix, etc. are obviously legal. These services pay for the content they stream. However, most other IPTV services that package 1000s of live TV channels rarely pay for the content or obtain them legitimately. Therefore, use IPTV with Plex at your own risk. Or, use a VPN to protect yourself.
Surfshark VPN Exclusive Offer - 82% off ($2.39/month):
♦ Hide your browsing (no logs), Anonymize Streaming and Downloads
♦ Wireguard Protocol support for VPN.
♦ Circumvent Geo/Country Restrictions and access worldwide content
♦ Works on Windows, Mac, Linux, Android, iOS, Router, and more
♦ 1 TB Encrypted Storage
♦ Money back guarantee - Sign Up Now
No, IPTV is not stable. These streams are aggregated from around the world and combined to form an IPTV package. There is no quality control involved and a channel or the whole service may go down at any time.
Also no. Illegitimate IPTV is already unreliable. On top of that Plex support for Live TV is not great. In addition, Plex's new strategy has shown an inclination to remove any sources that stream illegally obtained copyrighted content (locally stored content is OK. for now). Therefore, Plex may kill TellyTv's hardware tuner emulation workaround at any time.
We are still in the beginning stages of this new method, which is sure to improve over time. This guide uses TellyTv 1.1. The next version (1.5) is in the works and is supposed to have a web interface, support for Schedules Direct as EPG source, and more. With this improvement, it will be comparable xTeVe. So there is a lot of new things to look forward to.
With IPTV addition, Plex can become your all-in-one media server. If your IPTV requirements are less than 480 channels and your IPTV service provider offers great quality EPG data then Plex IPTV with xTeVe or TellyTv might a great fit for you.
With Plex cutting support for Plug-ins, this is one of the few known methods to get IPTV in Plex. I hope you found this Plex IPTV guide helpful. Do not hesitate to share your comments and experiences in the comments below.