Complete Plex IPTV Guide [2021]: IPTV on Plex still works

Wouldn't it be wonderful if Plex, your all-in-one media server, were also able to play IPTV channels? Believe it or not, this is still possible in 2021 and this Plex IPTV guide will show you how.

Plex is an awesome media server, which is why it is part of my smart home setup. But can one watch IPTV on Plex? [Read: Plex vs Kodi – The Ultimate Comparison Guide for Beginners]

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.

What is IPTV?

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.

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]

Does Plex work with IPTV?

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.

Why is my Plex IPTV Plugin Not working?

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.
114 / 150 by Dec 31, 2024
Join Us (starting from just $1.67/month)

Are there better alternatives for IPTV than Plex?

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.

Iptv On Jellyfin Media Server
Iptv On Jellyfin Media Server

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).

How to watch IPTV in Plex?

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.

What is xTeVe / TellyTv?

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.

xTeVe vs TellyTv

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).

Step 1. Requirements for Plex IPTV

Before you dive into this Plex IPTV guide, make sure you have the following requirements:

  • IPTV account - Paid subscription recommended. Free ones may work but are not reliable.
  • XML-TV EPG source - This is optional. Some paid IPTV providers also provide a URL for EPG data.
  • Plex Media Server with Plex Pass so you have the LiveTV and DVR feature.
  • Direct m3u file - Most paid IPTV providers supply this. This m3u file contains direct link to streams (ideally to TS streams). Nested m3u files will not work at this point. For more details, check TellyTv's wiki.
  • XML TV Guide - Plex's built-in EPG service will only work with known geo and specific TV providers (this option will rarely work). Most paid IPTV services supply this in the form of a URL (these are typically incomplete). The best ones are the paid service such as iptv-epg.com or xtream-editor.com.

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.

Step 2. How to Install xTeVe or TellyTv?

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.

Step 2a. How to Install xTeVe?

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.

Step 2a.1. Setup xTeVe with Docker and Docker Compose

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: ${TZ}
    volumes:
      - ${USERDIR}/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 ${TZ} and ${USERDIR} defined as explained in my Docker media server guide.

Step 2a.2. Start xTeve

Upon successful completion of above step, if you start the xTeVe container and check the docker logs, you should see something like this.

Iptv In Plex - Xteve Docker Logs
Xteve Docker Logs

Step 2a.3. Configure xTeVe for Plex IPTV

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.

Xteve Configuration - Number Of Tuners
Xteve Configuration - Number Of Tuners (Or Streams Allowed By The Iptv Provider)

In the next screen, choose XEPG for EPG Source, as shown below.

Xteve Setup - Xepg For Epg Source
Xepg For Epg Source

Next, enter the URL for your m3u playlist. This should be available from your IPTV provider.

Xteve Setup - Enter M3U Playlist Url
Enter M3U Playlist Url

Then enter the URL for XML Electronic Program Guide data. This again should be available from your IPTV provider.

Configure Xteve For Plex - Enter Xml Epg Url
Enter Xml Epg Url

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.
114 / 150 by Dec 31, 2024
Join Us (starting from just $1.67/month)

Step 2a.4. Create xTeVe Filters

Go to Filter and click on New to create a new filter, as shown below.

Create A Filter To Activate Iptv Channels For Plex
Create A Filter To Activate Iptv Channels For Plex

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.

Xteve Filter Options
You May Choose Any Filter Option.

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.

Create Xteve Filter
Example - Filter Abc Location Stations From Iptv Playlist

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.

Xteve Channel Filtering
Number Of Channels Should Be < 480 (0 Means >480).

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.

Confirm Xteve Channel Mapping And Save
Confirm Xteve Channel Mapping And Save

Hit Save and you are done installating and configuring xTeve for Plex IPTV viewing.

Recommended HTPC / Home Server Builds:

Step 2b. How to Install TellyTV?

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.

Step 2b.1. Setup TellyTv with Docker and Docker Compose

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=${TZ}
    network_mode: host
    volumes:
      - ${USERDIR}/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 ${TZ} and ${USERDIR} 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.

Step 2b.2. Create and Edit telly.config.toml file

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 ${USERDIR}/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 ${USERDIR}/docker/telly/ and copy-paste the example config.toml contents from here.

Step 2b.3. Editing telly.config.toml file

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.

  • streams: Set this to the number of maximum streams your IPTV provider allows.
  • Base-Address: Replace 0.0.0.0 with the IP address of the machine running TellyTv.
  • Name: Set it to anything you like.
  • Provider: Some have built-in support (check Wiki). For other services, use "Custom".
  • M3U: Your m3u file URL from the provider.
  • EPG: Your link to the XML EPG file from the provider.
  • Filter: This is very important. Read about filtering here. Apply filters so you have less than 480 channels (Plex limit).

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.

Step 2b.4. Start TellyTv

Upon successful completion of this step, if you start the TellyTv container and check the docker logs, you should see something like this.

Iptv In Plex - Tellytv Docker Logs
Tellytv Docker Logs

Step 3. Configure IPTV on Plex

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.

Plex Live Tv And Dvr Setup For Iptv
Plex Live Tv And Dvr Setup For Iptv

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).

Iptv Plex Setup - Enter Xteve Tuner Url
Enter Xteve Tuner Url

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.

Scan Iptv Channels On Plex
Scan Iptv Channels On Plex

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).

Manually Provide Xml Epg Data Url From Xteve
Manually Provide Xml Epg Data Url From Xteve

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.

Plex Iptv Setup - Check Channel Labeling From Epg Data
Check Channel Labeling From Epg Data

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.

Plex Iptv Setup - Updating Guide
Plex Iptv Setup - Updating Guide

That is it, you are done.

Best Plex Client Devices:
  1. NVIDIA SHIELD TV Pro Home Media Server - $199.99 Editors Pick
  2. Amazon Fire TV Streaming Media Player - $89.99
  3. Roku Premiere+ 4K UHD - $83.99
  4. CanaKit Raspberry Pi 3 Complete Starter Kit - $69.99
  5. Xbox One 500 GB Console - $264.99

Step 4. Watch IPTV on Plex

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.

Iptv Guide On Plex
Iptv Guide On Plex

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.

Playing Iptv On Plex
Playing Iptv On Plex

FAQs

Is IPTV Legal?

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

Is IPTV reliable?

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.

Is Plex IPTV setup with TellyTv or xTeVe reliable?

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.

Plex IPTV Setup with TellyTv - Final Thoughts

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.

Be the 1 in 200,000. Help us sustain what we do.
114 / 150 by Dec 31, 2024
Join Us (starting from just $1.67/month)

Anand

Anand is a self-learned computer enthusiast, hopeless tinkerer (if it ain't broke, fix it), a part-time blogger, and a Scientist during the day. He has been blogging since 2010 on Linux, Ubuntu, Home/Media/File Servers, Smart Home Automation, and related HOW-TOs.

Try Deployarr