GitHub

IPTV-API Project Description

What is the project about?

IPTV-API is a highly customizable IPTV interface update project. It allows users to create custom channel menus, automatically fetch live streaming sources, test their speed and validity, and generate usable results for a "second-level" viewing experience.

What problem does it solve?

The project solves the problem of managing and updating IPTV sources, providing a streamlined way to:

  • Gather IPTV links from various sources.
  • Filter out invalid or low-quality links.
  • Customize channel lists.
  • Generate readily usable IPTV playlists (M3U).

What are the features of the project?

  • Customizable Templates: Generate personalized channel lists.
  • Multiple Source Support: Fetch sources from local files, multicast, hotels, subscriptions, and keyword searches.
  • Interface Testing: Checks link speed, latency, and resolution, filtering out non-working links.
  • Preference Settings: Configure IPv4/IPv6 preferences, source prioritization, whitelists, and more.
  • Scheduled Updates: Automatically updates at specified times (default: 6:00 and 18:00 Beijing time).
  • Multiple Running Modes: Supports workflow, command line, GUI software, and Docker (amd64/arm64/arm v7).
  • M3U output: Can generate m3u files with channel icons.
  • Proxy Support: Can use proxies to improve data fetching.
  • Caching: Uses local cache for faster lookups.
  • History: Can merge with historical update results.
  • Web Service: Built in web service to access the generated playlists.

What are the technologies used in the project?

  • Python: (Specifically, version 3.13 is mentioned).
  • Pipenv: For dependency management.
  • Docker: For containerization.
  • (Implied) Networking Libraries: Libraries for making HTTP requests, parsing M3U files, and network speed testing.
  • (Implied) Web Framework: For the built-in web service.
  • FFmpeg: (Optional, for GUI users) Used for resolution filtering.

What are the benefits of the project?

  • Automated Updates: Reduces manual effort in maintaining IPTV lists.
  • High-Quality Streams: Filtering ensures better viewing experience.
  • Customization: Tailor the channel list to your preferences.
  • Flexibility: Supports various input sources and running environments.
  • Easy Access: Provides readily accessible playlist URLs.

What are the use cases of the project?

  • Personal IPTV Management: Individuals can create and maintain their own IPTV playlists.
  • IPTV Service Providers (Small Scale): Could be used as a backend for a small IPTV service. (Though scaling would be a concern).
  • Hotel/Hospitality IPTV: The "hotel source" feature suggests use in hospitality settings.
  • Testing and Research: Analyzing and testing IPTV sources.
TV screenshot