explaingit

guovin/iptv-api

📈 Trending23,828PythonAudience · vibe coderComplexity · 2/5ActiveSetup · moderate

TLDR

Automatically finds, tests, and maintains working IPTV live TV channel playlists by validating streams and filtering out dead links.

Mindmap

mindmap
  root((repo))
    What it does
      Tests stream quality
      Filters dead links
      Generates M3U playlists
      Fetches EPG data
    How to use
      Command line
      Docker container
      Desktop GUI
      Scheduled automation
    Key features
      IPv4 and IPv6
      Speed testing
      Relay support
      Multi-source aggregation
    Tech stack
      Python
      M3U format
      Docker
    Use cases
      Personal playlist maintenance
      Stream validation
      Channel organization

Things people build with this

USE CASE 1

Build and maintain a personal IPTV playlist without manually checking which channels still work.

USE CASE 2

Automatically test stream quality and speed to keep only fast, reliable channels in your playlist.

USE CASE 3

Aggregate IPTV sources from multiple places and generate a single M3U file for any IPTV player.

USE CASE 4

Schedule regular playlist updates so your channel list stays current without manual intervention.

Tech stack

PythonDockerM3UIPv4/IPv6

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Docker to run the validation pipeline; needs internet access to test live TV streams.

License could not be detected automatically. Check the repository's LICENSE file before use.

In plain English

iptv-api is a tool that automatically finds, tests, and organizes IPTV live streaming channel sources. IPTV (Internet Protocol Television) means watching live TV channels over the internet rather than through a cable or antenna. The problem it solves is that IPTV stream URLs frequently stop working, channels go offline, addresses change, or speeds become too slow, so maintaining a working channel list requires constant effort. This tool automates that entire process. It works by pulling together channel sources from multiple places, running speed and quality tests on each stream (measuring delay, resolution, and frame rate), filtering out dead or poor-quality links, and then generating a fresh, working playlist file in the standard M3U format that any IPTV player can load. It supports both IPv4 and IPv6 addresses, can fetch electronic program guide (EPG) data so you see what's on each channel, and includes a relay option that improves playback on slow connections. You can set it up in several ways: as an automated workflow, from the command line, via a graphical desktop application, or inside Docker. It also runs on a schedule so your playlist stays current without manual intervention. This is useful for anyone who assembles personal IPTV playlists and is tired of broken streams. You provide your own channel sources; the tool handles validation and upkeep. It is built in Python and supports amd64, arm64, and arm v7 hardware.

Copy-paste prompts

Prompt 1
How do I set up iptv-api to automatically test and maintain my IPTV channel list?
Prompt 2
Show me how to use iptv-api to filter out dead streams and generate a working M3U playlist.
Prompt 3
How can I run iptv-api in Docker to keep my IPTV channels updated on a schedule?
Prompt 4
What does iptv-api measure when it tests stream quality, and how do I interpret the results?
Prompt 5
How do I add my own IPTV sources to iptv-api and get EPG data for each channel?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.