IPTV server open source. Get the Best IPTV VPN for Seamless Streaming on Any Device

[Plex IPTV] How to Watch IPTV on Plex without IPTV Plugin for Plex?

The fact that Plex closed its plugin service does not necessarily mean the end of Plex IPTV watching. With a virtual tuner like xTeVe, you can disguise IPTV playlists as the regular TV channels that can be played by Plex. Thus you don’t need an IPTV plugin for Plex any longer. Read on to know more details!

Disclaimer: We do not advocate any illegal IPTV streaming activity. This guide is for personal fair use only. Please make sure your action is legal in your country/region.

About Plex and IPTV

Plex is a popular home media server-client software to stream one’s personal media collections like videos, music, and photos locally and remotely. It also supports live TV channels watching and recording. As long as there is an internet connection, users can access their media libraries anytime and anywhere.

IPTV stands for Internet Protocol Television, which serves to deliver television content over IP networks in contrast to the traditional terrestrial, satellite, and cable television formats. It also provides a lot more live TV channels (up to thousands) than the traditional methods, and at a much lower price. To watch IPTV, an IPTV player is needed to process the IPTV playlists. And users can hence access unlimited live sports events, PPV, world news, and international channels readily through the player. Currently, the most popular IPTV players are Kodi (free), Plex, and VLC (free).

Enabling IPTV for Plex used to be easy with the Plex plug-ins service. But ever since the removal of that service, things became tricky. During the plugin-void time, several remedies have emerged to this, yet most workarounds are down by now. As of writing this article, there is one last workable way to fix Plex IPTV watching. Read on to know more.

Free Download HD Movies

Want to collect as many good movies as you want to your media library? Use WonderFox Free HD Video Converter Factory to download your favorite videos and music from YouTube and other sites in a fast and secure way. Completely free and easy to use!

Compatible with Windows 11/10/8.1/8/7/.

Compatible with Windows 11/10/8.1/8/7/.

How to Watch IPTV on Plex?

For now, the most reliable way to enable Plex IPTV service is through xTeVe, a free and open-source M3U proxy. It can emulate a tuner to wrap the IPTV M3U playlist as regular TV channels that can be streamed on Plex. The following information is how to make Plex M3U IPTV work through xTeVe.

Note: To use xTeVe, you have to make sure your Plex Media Server version is or newer and has subscribed to Plex Pass so you can have Live TV DVR support. Your Plex Client should also have DVR support.

Step 1. Install xTeVe

Run xTeVe. If the Windows Security Alert pops up, click Allow access. xTeVe will continue the proceeding (see the screenshot below). Find the Web Interface line and copy the link http://your IP address:34400/web/.

Paste the link in your browser address bar and press enter. You’ll be sent to the xTeVe configuration page. Enter the number of tuners (The number of parallel connections that can be established to the provider). And then click Next.

From the EPG source drop-down options, select XEPG. It will allow you to import and edit external XMLTV files. Then hit Next.

Enter the URL of the M3U Playlist. Then click Next. xTeVe will begin grabbing all the playlist links from the M3U file.

Go to the XMLTV tab and enter the URL of the XMLTV file. Then hit Save.

Tips: Both the M3U playlist and XMLTV file URL should be available from your IPTV provider.

Note: If your IPTV playlist has over 480 channels, which is over the limit of Plex, you’ll be asked to filter the streams in the web interface.

Go to Filter, and enter a random group title such as United States. Then click Save.

Go to Mapping and you should see all the filtered channels displayed on the list. Note that the channels highlighted in red have incomplete information and won’t be available on Plex. You need to manually map the incomplete channel to an EPG channel. Right-click on one of the unavailable channels to start mapping (Optional. Check the xTeVe mapping steps). When you are done with mapping, hit Save.

Step 2. Configure Plex IPTV

Go to Live TV DVR in Plex and click SET UP PLEX DVR.

Occasionally, Plex can’t detect your tuner device. Then click Enter its network address manually and enter Your IP Address:34400, such as Then hit CONNECT. The xTeVe tuner will appear, click on it.

Choose your country and check the channel list. Make sure it’s the right playlist and click CONTINUE.

Click the orange-colored sentence Have an XMLTV guide on your server? Click here to use that instead and enter http://Your IP Address:34400/xmltv/xteve.xml in the XMLTV GUIDE box. Then click CONTINUE.

You’ll see all the available channels listed in detail. Check whether the channel is matching with the XMLTV guide data. Then click CONTINUE. Voila! You’ve completed the Plex IPTV setup.

Step 3. Watch IPTV Playlists on Plex

Click VIEW GUIDE and start watching the channels from your IPTV provider.

Final Words

The method used in this guide is currently the best way to enable the Plex IPTV service. But we cannot guarantee this method will 100% work for you since both the xTeVe and Plex’s support for Live TV are not that stable. If you find this method not working, maybe consider changing to another IPTV player. And that’s all for now. Thanks for reading!

WonderFox DVD Ripper Pro

iptv, server, open, source

Got loads of DVDs lying on your shelf gathering dust? Make use of it with WonderFox DVD Ripper Pro that will copy your DVD collections to digital formats easily. Not only will it rip your DVD to over 500 formats with zero quality loss, but it will also auto-detect the main-title of the DVD with 100% accuracy. Try it out for free!

Get the Best IPTV VPN for Seamless Streaming on Any Device

Get secure and reliable access to all your favorite IPTV channels with PIA VPN.

  • Bypass ISP throttling with high-level encryption
  • Stream in HD without buffering on our blazing-fast network
  • Watch unlimited IPTV without bandwidth or data caps

Access IPTV Anytime with PIA VPN

IPTV is a fun, free way to watch movies, but unverified channels may contain malware and trackers. Additionally, one hour of IPTV can consume 5 Gb of bandwidth.

To protect yourself against online threats and avoid ISP throttling you need PIA VPN.

Select Your Virtual Location

Connect to one of our servers in 84 countries worldwide to watch your favorite IPTV channels uninterrupted. We even have dedicated servers in all 50 states, so you can find a server to access IPTV regardless of your home state.

Use PIA VPN with IPTV in 3 Steps

PIA keeps your online activity private when you’re watching IPTV. Follow these easy steps to safely enjoy all the content IPTV has to offer.

iptv, server, open, source

Step 1

Sign up for Private Internet Access

Step 3

Choose a server start streaming IPTV

Watch IPTV on Any Device

Access IPTV on all your devices with one PIA subscription. We give you 10 simultaneous connections with native apps for iOS, Android, Windows, Linux, and macOS.

Installing the VPN on your router only counts as one use, so you’ll still have 9 left.

PIA’s Top IPTV VPN Features

Get PIA’s top tools for secure access to the content you want. Enjoy the best shows free from ISP throttling, annoying ads, and network restrictions.

How long you spend watching IPTV is none of anyone’s business — our No Logs Policy is proof we agree. We’ll never track your online activity.

PIA’s No Logs Policy is court-tested, and we don’t have data to hand over when authorities request it.

Watch IPTV as much as you like, whenever you like. PIA never limits data or bandwidth — period. Stream all day, every day in 4K without interruptions. Even if everyone in your home is watching a different channel, you’ll never hit a cap.

Choose between two unbreakable encryption methods to scramble your VPN traffic and make it unreadable to third parties.

Lightweight 128-bit AES is excellent for speed-intensive activities like streaming IPTV, while 256-bit AES excels at protecting sensitive data.

Secure your traffic with the best open-source protocols available — WireGuard® and OpenVPN.

WireGuard® is a popular choice for video services like IPTV because it’s fast and lightweight. OpenVPN, however, is perfect when privacy is your top priority.

Our VPN apps are 100% open-source and you can view our source code on GitHub. PIA’s open-source philosophy allows us to find and manage vulnerabilities quickly, so you always get the best security possible.

PIA’s Customer Support is backed by 10 years of VPN experience and available 24/7 via live chat or email.

Our searchable Help Center includes in-depth troubleshooting guides and a community forum where you can talk to other PIA users.

How to Watch IPTV with PIA VPN on Your Router

Install PIA on your router using the steps below to watch IPTV on any connected device. No matter how many devices you connect to your router, you’ll still have 9 connections left because It only counts as one use.

Step 2

Buy a Flashrouter or other compatible router

Step 3

For Flashrouters, use the instructions on the router

Step 4

For other routers, follow our installation guides

PIA VPN vs Free VPN for IPTV

Even the best free VPNs may limit your data, bandwidth, or server selection until you upgrade to a paid plan. PIA offers unlimited bandwidth, data, and server access, all with a 30-day money-back guarantee.

Are IPTV Services Legal?

It’s perfectly legal to use IPTV to watch free channels like Pluto TV and Plex, as well as subscription services like Hulu. Unverified channels may not be legal due to licensing violations, and could contain harmful malware.

Choose The Plan That’s Right For You

All Plans Are Covered By Our 30-Day Money-Back Guarantee

All amounts are shown in EUR, and any discounts reflect a reduction based on the current monthly service pricing at 11.69 € per month.


Which VPN server location is best to stream IPTV?

The server location closest to you! PIA gives you servers in 146 locations worldwide for access to content with some of the fastest VPN speeds for seamless streaming.

Connect to one of our server locations in all 50 US states to watch any IPTV content you want, including local news — wherever you are in the US.

Can my ISP block my access to IPTV?

Yes, your ISP and some networks may block your access to unverified IPTV channels. PIA lets you access channels your ISP blocks because of content it deems harmful, or because of suspected malware. Paid services like Amazon Prime Video or Sling TV aren’t affected by ISP blocks.

PIA gives you strong encryption as well as fast, secure protocols like WireGuard® to stop your ISP from monitoring your IPTV viewing habits.

Will PIA VPN slow down my streaming speeds?

Any VPN will slow your streaming speeds a bit, but PIA’s NextGen VPN Server network lets you watch IPTV content in HD anywhere. Our servers use 10 Gbps network cards to provide lightning-fast speeds for browsing, streaming, gaming, and anything else you want to do online.

Can I use a free VPN to watch IPTV?

Yes but you face risks. Free VPNs often limit bandwidth, and since one hour of IPTV can use 5 Gb of bandwidth, you likely won’t get through one movie without hitting a cap. Free VPNs may also limit your server location choices, so it’s harder to switch to a different server if you aren’t getting fast enough speeds.

PIA never limits your data, bandwidth, or server selection. You don’t need to worry about slow speeds either — our servers use 10 Gbps network cards. We also provide a 30-day money-back guarantee, so you can try our advanced VPN features risk-free.

What is IPTV Smarters?

IPTV Smarters is a video-streaming app for mobile platforms, including iOS and Android. It allows you to watch your favorite content directly from the app. This includes your IPTV subscriptions, free content, and even Netflix, Sling TV, and other paid live TV and VOD services. The IPTV Smarters app even works with Smart devices like Android and Apple TV.

It’s a good idea to be cautious though as IPTV Smarters is a third-party app and could put your data at risk. If you use IPTV smarters it’s wise to also use PIA VPN on your iOS or Android device.

How To Set Up a Video Streaming Server using Nginx-RTMP on Ubuntu 20.04

There are many use cases for streaming video. Service providers such as Twitch are very popular for handling the web discovery and community management aspects of streaming, and free software such as OBS Studio is widely used for combining video overlays from multiple different stream sources in real time. While these platforms are very powerful, in some cases you may want to be able to host a stream that does not rely on other service providers.

In this tutorial, you will learn how to configure the Nginx web server to host an independent RTMP video stream that can be linked and viewed in different applications. RTMP, the Real-Time Messaging Protocol, defines the fundamentals of most internet video streaming. You will also learn how to host HLS and DASH streams that support more modern platforms using the same technology.


To complete this guide, you will need:

  • An Ubuntu 20.04 server and a non-root user with sudo privileges. You can learn more about how to set up a user with these privileges in our Initial Server Setup with Ubuntu 20.04 guide.
  • Nginx installed, following How To Install Nginx on Ubuntu 20.04.

This tutorial will use the placeholder domain name your_domain for URLs and hostnames. Substitute this with your own domain name or IP address as you work through the tutorial.

Step 1 — Installing and Configuring Nginx-RTMP

Most modern streaming tools support the RTMP protocol, which defines the basic parameters of an internet video stream. The Nginx web server includes a module that allows you to provide an RTMP stream with minimal configuration from a dedicated URL, just like it provides HTTP access to web pages by default. The Nginx RTMP module isn’t included automatically with Nginx, but on Ubuntu 20.04 and most other Linux distributions you can install it as an additional package.

Begin by running the following commands as a non-root user to update your package listings and install the Nginx module:

Installing the module won’t automatically start providing a stream. You’ll need to add a configuration block to your Nginx configuration file that defines where and how the stream will be available.

Using nano or your favorite text editor, open Nginx’s main configuration file, /etc/nginx/nginx.conf. and add this configuration block to the end of the file:

  • listen 1935 means that RTMP will be listening for connections on port 1935, which is standard.
  • chunk_size 4096 means that RTMP will be sending data in 4KB blocks, which is also standard.
  • allow publish and deny publish all mean that the server will only allow video to be published from the same server, to avoid any other users pushing their own streams.
  • application live defines an application block that will be available at the /live URL path.
  • live on enables live mode so that multiple users can connect to your stream concurrently, a baseline assumption of video streaming.
  • record off disables Nginx-RTMP’s recording functionality, so that all streams are not separately saved to disk by default.

Save and close the file. If you are using nano. press CtrlX. then when prompted, Y and Enter.

This provides the beginning of your RTMP configuration. By default, it listens on port 1935. which means you’ll need to open that port in your firewall. If you configured ufw as part of your initial server setup run the following command.

Now you can reload Nginx with your changes:

You should now have a working RTMP server. In the next section, we’ll cover streaming video to your RTMP server from both local and remote sources.

Step 2 — Sending Video to Your RTMP Server

There are multiple ways to send video to your RTMP server. One option is to use ffmpeg. a popular command line audio-video utility, to play a video file directly on your server. If you don’t have a video file already on the server, you can download one using YouTube-dl. a command line tool for capturing video from streaming platforms like YouTube. In order to use YouTube-dl. you’ll need an up to date Python installation on your server as well.

First, install Python and its package manager, pip :

iptv, server, open, source

Next, use pip to install YouTube-dl :

Now you can use YouTube-dl to download a video from YouTube. If you don’t have one in mind, try this video, introducing DigitalOcean’s App Platform:

You’ll see some output as YouTube-dl combines the video and audio streams it’s downloading back into a single file – this is normal.

Output[YouTube] iom_nhYQIYk: Downloading webpage WARNING: Requested formats are incompatible for merge and will be merged into mkv. [download] Destination: Introducing App Platform by DigitalOcean-iom_nhYQIYk.f137.mp4 [download] 100% of 32.82MiB in 08:40 [download] Destination: Introducing App Platform by DigitalOcean-iom_nhYQIYk.f251.webm [download] 100% of 1.94MiB in 00:38 [ffmpeg] Merging formats into Introducing App Platform by DigitalOcean-iom_nhYQIYk.mkv Deleting original file Introducing App Platform by DigitalOcean-iom_nhYQIYk.f137.mp4 (pass.k to keep) Deleting original file Introducing App Platform by DigitalOcean-iom_nhYQIYk.f251.webm (pass.k to keep)

You should now have a video file in your current directory with a title like Introducing App Platform by DigitalOcean-iom_nhYQIYk.mkv. In order to stream it, you’ll want to install ffmpeg :

And use ffmpeg to send it to your RTMP server:

This ffmpeg command is doing a few things to prepare the video for a streaming-friendly format. This isn’t an ffmpeg tutorial, so you don’t need to examine it too closely, but you can understand the various options as follows:

  • -re specifies that input will be read at its native framerate.
  • -i Introducing App Platform by DigitalOcean-iom_nhYQIYk.mkv specifies the path to our input file.
  • -c:v is set to copy. meaning that you’re copying over the video format you got from YouTube natively.
  • -c:a has other parameters, namely aac.ar 44100.ac 1. because you need to resample the audio to an RTMP-friendly format. aac is a widely supported audio codec, 44100 hz is a common frequency, and.ac 1 specifies the first version of the AAC spec for compatibility purposes.
  • -f flv wraps the video in an flv format container for maximum compatibility with RTMP.

The video is sent to rtmp://localhost/live/stream because you defined the live configuration block in Step 1, and stream is an arbitrarily chosen URL for this video.

Note: You can learn more about ffmpeg options from ffmprovisr, a community-maintained catalog of ffmpeg command examples, or refer to the official documentation.

While ffmpeg is streaming the video, it will print timecodes:

Outputframe= 127 fps= 25 q=-1.0 size= 405kB time=00:00:05.00 bitrate= 662.2kbits/s speed=frame= 140 fps= 25 q=-1.0 size= 628kB time=00:00:05.52 bitrate= 931.0kbits/s speed=frame= 153 fps= 25 q=-1.0 size= 866kB time=00:00:06.04 bitrate=1173.1kbits/s speed=

This is standard ffmpeg output. If you were converting video to a different format, these might be helpful in order to understand how efficiently the video is being resampled, but in this case, you just want to see that it’s being played back consistently. Using this sample video, you should get exact fps= 25 increments.

While ffmpeg is running, you can connect to your RTMP stream from a video player. If you have VLC. mpv. or another media player installed locally, you should be able to view your stream by opening the URL rtmp:// your_domain /live/stream in your media player. Your stream will terminate after ffmpeg has finished playing the video. If you want it to keep looping indefinitely, you can add.stream_loop.1 to the beginning of your ffmpeg command.

Note: You can also stream directly to, for example, Live using ffmpeg without needing to use Nginx-RTMP at all by replacing rtmp://localhost/live/stream in your ffmpeg command with rtmps://live-api-scom:443/rtmp/ yourstream-key. YouTube uses URLs like rtmp://a.rtmp.YouTube.com/live2. Other streaming providers that can consume RTMP streams should behave similarly.

Now that you’ve learned to stream static video sources from the command line, you’ll learn how to stream video from dynamic sources using OBS on a desktop.

Step 3 — Streaming Video to Your Server via OBS (Optional)

Streaming via ffmpeg is convenient when you have a prepared video that you want to play back, but live streaming can be much more dynamic. The most popular software for live streaming is OBS, or Open Broadcaster Software – it is free, open source, and very powerful.

OBS is a desktop application, and will connect to your server from your local computer.

After installing OBS, configuring it means customizing which of your desktop Windows and audio sources you want to add to your stream, and then adding credentials for a streaming service. This tutorial will not be covering your streaming configuration, as it is down to preference, and by default, you can have a working demo by just streaming your entire desktop. In order to set your streaming service credentials, open OBS’ settings menu, navigate to the Stream option and input the following options:

Streaming Service: Custom Server: rtmp://your_domain/live Play Path/Stream Key: obs_stream

obs_stream is an arbitrarily chosen path – in this case, your video would be available at rtmp:// your_domain /live/obs_stream. You do not need to enable authentication, but you do need to add an additional entry to the IP whitelist that you configured in Step 1.

Back on the server, open Nginx’s main configuration file, /etc/nginx/nginx.conf. and add an additional allow publish entry for your local IP address. If you don’t know your local IP address, it’s best to just go to a site like What’s my IP which can tell you where you accessed it from:

. allow publish; allow publish your_local_ip_address; deny publish all;.

Save and close the file, then reload Nginx:

You should now be able to close OBS’ settings menu and click Start Streaming from the main interface! Try viewing your stream in a media player as before. Now that you’ve seen the fundamentals of streaming video in action, you can add a few other features to your server to make it more production-ready.

Step 4 — Adding Monitoring to Your Configuration (Optional)

Now that you have Nginx configured to stream video using the Nginx-RTMP module, a common next step is to enable the RTMP statistics page. Rather than adding more and more configuration details to your main nginx.conf file, Nginx allows you to add per-site configurations to individual files in a subdirectory called sites-available/. In this case, you’ll create one called rtmp :

Add the following contents:

server listen 8080; server_name localhost; # rtmp stat location /stat rtmp_stat all; rtmp_stat_stylesheet stat.xsl; location /stat.xsl root /var/www/html/rtmp; # rtmp control location /control rtmp_control all;

Save and close the file. The stat.xsl file from this configuration block is used to style and display an RTMP statistics page in your browser. It is provided by the libnginx-mod-rtmp library that you installed earlier, but it comes zipped up by default, so you will need to unzip it and put it in the /var/www/html/rtmp directory to match the above configuration. Note that you can find additional information about any of these options in the Nginx-RTMP documentation.

Create the /var/www/html/rtmp directory, and then uncompress the stat.xsl.gz file with the following commands:

Finally, to access the statistics page that you added, you will need to open another port in your firewall. Specifically, the listen directive is configured with port 8080. so you will need to add a rule to access Nginx on that port. However, you probably don’t want others to be able to access your stats page, so it’s best only to allow it for your own IP address. Run the following command:

Next, you’ll need to activate this new configuration. Nginx’s convention is to create symbolic links (like shortcuts) from files in sites-available/ to another folder called sites-enabled/ as you decide to enable or disable them. Using full paths for clarity, make that link:

Now you can reload Nginx again to process your changes:

You should now be able to go to http:// your_domain :8080/stat in a browser to see the RTMP statistics page. Visit and refresh the page while streaming video and watch as the stream statistics change.

You’ve now seen how to monitor your video stream and push it to third party providers. In the final section, you’ll learn how to provide it directly in a browser without the use of third party streaming platforms or standalone media player apps.

Step 5 — Creating Modern Streams for Browsers (Optional)

As a final step, you may want to add support for newer streaming protocols so that users can stream video from your server using a web browser directly. There are two protocols that you can use to create HTTP-based video streams: Apple’s HLS and MPEG DASH. They both have advantages and disadvantages, so you will probably want to support both.

The Nginx-RTMP module supports both standards. To add HLS and DASH support to your server, you will need to modify the rtmp block in your nginx.conf file. Open /etc/nginx/nginx.conf using nano or your preferred editor, then add the following highlighted directives:

. rtmp server application live live on; record off; hls on; hls_path /var/www/html/stream/hls; hls_fragment 3; hls_playlist_length 60; dash on; dash_path /var/www/html/stream/dash;

Save and close the file. Next, add this to the bottom of your sites-available/rtmp :

Note: The Access-Control-Allow-Origin header enables CORS, or Cross-Origin Resource Sharing, which is disabled by default. This communicates to any web browsers accessing data from your server that the server may load resources from other ports or domains. CORS is needed for maximum compatibility with HLS and DASH clients, and a common configuration toggle in many other web deployments.

Save and close the file. Note that you’re using port 8088 here, which is another arbitrary choice for this tutorial to avoid conflicting with any services you may be running on port 80 or 443. You’ll want to open that port in your firewall for now too:

Finally, create a stream directory in your web root to match the configuration block, so that Nginx can generate the necessary files for HLS and DASH:

You should now have an HLS stream available at http:// your_domain :8088/hls/stream.m3u8 and a DASH stream available at http:// your_domain :8088/dash/stream.mpd. These endpoints will generate any necessary metadata on top of your RTMP video feed in order to support modern APIs.


The configuration options that you used in this tutorial are all documented in the Nginx RTMP Wiki page. Nginx modules typically share common syntax and expose a very large set of configuration options, and you can review their documentation to change any of your settings from here.

Nearly all internet video streaming is implemented on top of RTMP, HLS, and DASH, and by using the approach that you have explored in this tutorial, you can provide your stream via other broadcasting services, or expose it any other way you choose. Next, you could look into configuring Nginx as a reverse proxy in order to make some of these different video endpoints available as subdomains.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.


TV has become a huge part of our lives and now it’s hard to imagine a home without it. Currently there are a few digital television services: satellite TV, cable TV, over-the-air TV and the recent ones — IPTV and IPTV/OTT. This article focuses on IPTV, how the TV signal is delivered to the viewer and how Flussonic Media Server can help in implementing such technologies.

IPTV and its architecture

Internet Protocol television (IPTV) is the delivery of television content over Internet Protocol (IP) networks. This technology appeared in the late 90s to replace the traditional methods of TV signal transmission.

IPTV is a competitor to the conventional television content distribution like over-the-air broadcasting (DVB-T/T2 in digital format), cable TV (DVB-C/C2) and satellite TV (DVB-S/S2) that are relatively simple to set up and affordable, but offer poorer variety of channel selection. Those types of broadcasting are inferior to IPTV in a number of features, which we will discuss later.

The classic example of IPTV service is that offered by an Internet provider. IPTV’s great advantage in comparison with DVB-T/T2 (short for Digital Video Broadcasting — Terrestrial) and DVB-S/S2 (short for Digital Video Broadcasting – Satellite) is a wider selection of channels. If you have provider XYZ’s dish installed on the roof, you get to watch only XYZ’s TV channels. There aren’t too many enthusiasts who would install 3 or 4 dishes from different providers, so a telephone company can offer a wider selection of channels in contrast with satellite TV.

It should be noted that traditional IPTV service uses Internet Protocol, a transport protocol to deliver the video content to the viewer through a cable. So that the operator/provider manages the stream delivery to the end-user. That correspond to delivery over the open-access network, i.e. Internet.

Traditionally, the term IPTV describes a specific list of technical solutions for receiving television signal and its retransmission to viewers. A classic IPTV architecture looks as follows (see diagram 1.1):

Diagram 1.1. IPTV architecture

The IPTV scheme given above is a traditional one, so in every case it may undergo some changes.

signal can be transmitted through various digital television broadcast standards: DVB, ATSC or ISDB.

Further in the article we will use the term video content. Let’s agree that by this term we mean not only a video stream, but also an audio stream as well as subtitles, closed captions, etc., if any.

In the simplest case, the IPTV diagram includes a satellite dish, a headend and a set of set-top boxes.

Let’s define some terms necessary for further understanding of the delivery of video content process:

Headend is a professional term for a satellite receiver that is capable of capturing a lot of TV channels from different sources simultaneously. A headend has three main functions:

  • Converting DVB, ATSC or ISDB signal into bytes
  • Descrambling, i.e. decrypting it
  • Sending this stream of bytes via UDP (User Datagram Protocol) multicast to the network.

Multicast is a method of data transmission to a group of recipients simultaneously. Note that multicast takes place only in the context of a private network or a local access network (LAN). Multicasting is similar to broadcasting, but it only transmits data to specific viewers and not to all of them. It is used to efficiently send streaming media and other content to multiple viewers at once by individual copies of the data.

For more information about sending multicast, see Sending multicast.

Set-top box (STB, a box lying on top of the TV) is a small computer that contains a TV-tuner input and displays output to a TV set. A main device for controlling a set-top-box is a remote control.

Signal capture

Most IPTV operators use a satellite dish as a signal source to capture content due to its lower cost, but it is not the only possible source. In fact, there may be several sources of various kinds. For example, the headend can capture a signal from both satellite dishes and a TV tower at the same time (see diagram 1.1)

For more information about capturing satellite video, see Capturing Satellite Video.

Capturing one TV channel using professional equipment should cost from roughly 100 to 1000 at a time. A dedicated Internet TV channel with a guaranteed quality costs about the same, but monthly. This is the reason why Internet TV is often provided without any quality guarantees. Sometimes a channel is captured via SDI (a cable transmitting raw original video). This is convenient, reliable and extremely expensive.

So, how is the signal transmitted via IPTV? The signal is transported according to a certain set of rules called protocols for devices to process the signal. Satellite transmits the DVB-S/S2 signal to the satellite dish. Then content from satellite dishes (through same DVB-S/S2 protocol) and/or local antennas (through ISDB-T, ATSC or DVB-T/T2 protocols) is captured by the headend and converted to IP so that the router could transfer it to IP network. Stream is further transported to STB from the router, where it is tuned to be displayed on TV screen. HDMI cable is used to deliver the signal to TV.

A question may rise: why is IPTV better than a simple satellite dish (DVB-S/S2) if the operator installs the dish anyway? Firstly, the operator installs not one plate, but 5 or 6, or even more, capturing all the channels that can only be reached, so that the subscriber gets a larger amount of various channels. Secondly, IPTV provides more different services. Thirdly, a significant part of the residents of apartment buildings in urban areas are not able to install a satellite dish, because of the fact that the signal from the satellite simply does not reach the dish. This can happen due to the following reasons:

  • typical for areas, where the distance between the buildings is extremely small. In this case, the signal’s way from the satellite is blocked by the houses and the dish can not receive it.
  • the Windows of the apartment buildings face north. The satellites are placed in geostationary earth orbit above the equator. So, in the northern hemisphere they are visible only in the south. Hence, the signal simply cannot reach the dish.

Technically, it is possible to install a dish, but it just will not make any sense.


Some STB’s can record and save live broadcasts for the viewers to watch later so they can playback and resume at their convenience. It is important to acknowledge that recording of live TV broadcasts raises problems with the law. Many decades passed before the lawyers of content providers agreed to the use of the videocasette recorder (VCR) by the viewers. Thereby modern set-top boxes often just copy the meaningless and inconvenient functionality of old video recorders: recording a live broadcasting TV channel according to a preliminary schedule. In this case, a viewer has to preconfigure the STB to record at the right time.

First fairly primitive set-top boxes could only switch channels on a preloaded playlist. Modern consoles often come with web browsers like Opera or something based on Webkit (a free engine for displaying web pages), which are modified for video-specific tasks and processing the signal from the remote control. Usage of a web browser makes it easier to change the interface and add new features (for instance, buying content clicking a single button from the remote control). However, web browsers on slow set-top box processors are slower than some specialized applications, so there are still devices without web browsers on the market.


To provide something more amusing and convenient than just a list of 300 channels that you need to scroll through from the first to the last, a new component comes in handy – Middleware.

Middleware is a separate component of the entire system, a software that provides additional services to users via set-top boxes. It should be noted that Middleware is not suited for some IPTV services and, hence, some set-top boxes receive a fixed list of channels.

With the help of Middleware, a viewer can quickly change the list of channels, classify channels by genre, access recorded live broadcasts, movies, enable the display of various information such as currency exchange rates, weather forecasts, etc.

That is how the first traditional IPTV model looks like. However, due to technological development this architecture has undergone some changes that leads us to the IPTV/OTT.

For more information about IPTV/OTT, see IPTV/OTT.

IPTV solution based on Flussonic Media Server

So, we have examined what IPTV is, its way of content delivery to viewers. What part does Flussonic Media Server plays in this system and how can it be used to implement IPTV?

You can use Flussonic Media Server to create headend with its functionality: capturing the signal from the satellite dish and/or TV tower, descramble that signal and send it over IP network. Flussonic can also capture video streams from DVB boards directly. Furthermore, only one Flussonic server is needed to create a small 100-channel service.

Our product allows you to deliver the content the most efficient way possible and without loss of quality for viewer. So that you can FOCUS on the content maker’s and veiwer’s experiences, while Flussonic will take care of the rest.

If you have any questions about implementing IPTV with Flussonic Media Server or you are willing to try out our product, please fill out the form to receive a free Flussonic Media Server trial key.

Our experts will contact you shortly, offer tech advice and consultation, and send you a trial license.

If you have not received an email from us within one hour, please check your Spam folder and add Flussonic to your Trusted contacts list.

Email: support@flussonic.com Phone: 1 (778) 716-2080

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE-

What Is IPTV?

We answer your questions about internet protocol television (IPTV)—including which types of IPTV are legal and which might be bad news.

You may have heard tales of IPTV (internet protocol TV), a magical way to have every TV show and movie at your fingertips—and possibly even for free. IPTV is real, but you should know a few things about it before you try to catch that golden TV goose. Read on for answers to popular questions about IPTV.

(Photo: Andres Jasso on Unsplash. Cropping and text by CableTV.com)

Does IPTV require an internet connection?

Yes, since IPTV stands for internet protocol television. Enter your zip code below to find internet service providers near you.

What Is IPTV?

Internet protocol TV (IPTV) is TV delivered via the internet, and it comes in three flavors: video-on-demand IPTV, live TV streaming IPTV, and time-shifted IPTV.

Video-on-demand (VOD) IPTV

Video-on-demand IPTV has three subtypes:

  • Transactional video-on-demand (TVOD) is for renting or buying digital movies and shows through TVOD retailers like Amazon Prime Video, Google Play Movies, Redbox, and VUDU.
  • Subscription video-on-demand (SVOD) is where you pay a monthly fee to access a library of movies and shows. Popular SVOD IPTV services include Netflix, Amazon Prime Video, and Paramount.
  • Advertising video-on-demand (AVOD) or free ad-supported streaming TV (FAST) services have no monthly fee, but unskippable ads. Think Sling Freestream, Tubi, and Pluto TV.

Live TV streaming IPTV

Like SVOD and AVOD, some live TV streaming services involve subscriptions, and others are free to watch but have unskippable ads. The difference is that the main feature of this IPTV type isn’t a content library—it’s a lineup of live, linear TV channels.

Some of these services, like YouTube TV and Hulu Live TV, have both live TV and a deep on-demand library. You might hear these services described as hybrid IPTV.

Time-shifted IPTV

Some services, like Hulu, Paramount, or Peacock, have only the last five episodes of a currently airing series. That’s called time-shifted IPTV. It means you can watch episodes later than the usual time slot—but not forever—making it easier to stay caught up on TV series.

Is IPTV the same as OTT?

IPTV is similar to, but not the same as, over-the-top TV (OTT).

OTT streams content to an app over a public, unmanaged internet connection and frequently involves SVOD services both live (YouTube TV and Hulu Live TV) and on-demand (Netflix or Paramount), or AVOD/FAST services (Sling Freestream or Tubi). OTT services beat IPTV in ease of installation, device compatibility, price, and accessibility.

IPTV streams content over a private, managed, remote server and doesn’t use as much of your bandwidth as OTT. These services are tricky to install and often require a special IPTV box and a router, but they have better content quality and delivery.

How do I get IPTV?

You probably already have IPTV. How can you tell? Take our quiz!

  • Do you watch YouTube?
  • Do you subscribe to a live TV or on-demand streaming service like Hulu Live TV or Netflix?
  • Do you use an AVOD streaming service like Tubi or Pluto TV?
  • Do you rent or buy digital movies and shows?

If you answered yes to any of the above questions, you have (or have used) legal IPTV. We will discuss that more in the next section.

To get potentially illegal IPTV, you sign up online—typically on a questionable site. Depending on the IPTV service, you may or may not have a monthly payment, and you’ll have to buy an IPTV box. We don’t recommend these services, hence the lack of specifics.

Looking for the hottest entertainment?

Subscribe to our email newsletter to get the latest TV premieres, entertaining takes, and money-saving promotions.

By signing up, you agree to our Terms of Use and Privacy Policy.

Is IPTV legal?

IPTV is legal if the IPTV service licenses the content fair and square—that’s a critical difference between the major IPTV (streaming TV) services and the questionable ones.

Suit up

If you decide to try a sketchy IPTV service, at least use a virtual private network (VPN). If you’re unfamiliar with VPNs, we tell you all about them in “What Is a VPN?”

How do I know if an IPTV service is sketchy?

You may come across IPTV services that offer 15,000–20,000 channels and a ridiculously comprehensive on-demand library—including even first-run movies—for free or cheap. These services are probably (read: totally) illegal, so we don’t recommend using them.

Here’s how to identify these services so that you can avoid trouble.

IPTV red flags

  • The price is ridiculously affordable.
  • The channel count and library size are exponentially higher than those of legit streaming services. No legal IPTV service can afford the licensing fees for so much content.
  • The service’s website has many spelling and grammar mistakes. A legit site will take the time to proofread copy.

Granted, some of these services work, and the site operators are more likely than you to get nailed for piracy—but it’s not worth it. Also, we wouldn’t trust a sketchy IPTV site with our credit card information.

That said, whether or not you use these IPTV services is your decision.

Is Kodi legal?

Kodi is a legal IPTV service—to a point. Kodi is a free, open-source app, so it can have illegal applications. Let’s talk about the legal stuff first.

Kodi lets you manage your digital media collection in one location, much (but not exactly) like a Plex media server. Suppose you have an epic collection of movies and music and take so many cat pictures. In that case, Kodi is a fantastic way to organize, sort, track, and, most importantly, enjoy your files in an immensely customizable user interface powered by Kodi add-ons.

Add-ons allow you to customize Kodi with:

  • Album and movie scrapers for cover art, lyrics, movie/show details, track listings, and more.
  • Audio and video decoders for file compatibility
  • DVR functionality (OTA antenna required)
  • Games and game controllers
  • Skins for visual customization

With many official add-ons available, the Kodi experience is already fun and useful—and it’s compatible with popular streaming devices like the Amazon Fire TV Stick 4K, NVIDIA SHIELD TV Pro, and the Roku Ultra.

Remember, though, that Kodi is open-source software. Anyone can create Kodi add-ons, including potentially illegal ones that give you access to those ridiculously huge channel lineups and (we hear) virtually any movie, even ones still in theaters. Unlimited free TV and movies—it’s a couch creature’s dream and, therefore, alluring. Is it worth the headache, though?