Skip to content

Repository files navigation

IPTV 直播源

自动聚合全网 IPTV 直播源,每日更新,支持 M3U / TXT 格式,可直接用于 TVBox、风萤影视、Kodi 等播放器。

⚠️ 声明:本工具仅提供技术框架,用户须自配合法数据源。所有内容仅供个人测试研究,不得用于任何商业用途


img img


功能特性

  • 自动聚合:从多个数据源抓取频道,按频道名精确匹配和模糊匹配汇总
  • IPv4 / IPv6 双栈:优先使用 IPv6/IPv4 地址(可配置)
  • 双引擎质量检测:HTTP 快筛 + FFprobe 中度探测,双重过滤失效和低质量源
    • 第一层:aiohttp 并发拉取 playlist,验证可达性
    • 第二层:ffprobe 探流,提取分辨率、码率、编解码器信息
  • 智能排序:FFprobe 通过的源排前面,同层内按码率、分辨率降序排列
  • 信息标注:输出 URL 末尾自动附加分辨率和码率,如 【1920x1080@256kbps】
  • 黑名单建议:每次运行后打印频繁失败的域名,方便手动加入黑名单
  • EPG 电子节目单:M3U 头部内置多组 EPG 地址,支持 TiviMate、Kodi 等播放器
  • 公告支持:可在直播源头部插入公告条目,支持自动日期占位符
  • 每日自动更新:GitHub Actions 定时任务,每天北京时间 06:00 自动推送

Fork 或 Clone 本仓库运行

方式一:Fork 项目(使用 GitHub Actions 自动运行)

  • Fork 本仓库​

  • 点击页面右上角的 Fork 按钮,将项目复制到你的 GitHub 账号下。

  • 编辑你 fork 后的仓库中的 config.py 文件,找到 source_urls 变量,替换为你自己拥有的合法直播源地址(例如自建源、已获授权的公开源)。

  • 启用 GitHub Actions​

  • 进入你 fork 的仓库,点击 Actions 标签页,如果提示需要启用 Workflow,点击 I understand my workflows, go ahead and enable them。之后 Actions 会根据 .github/workflows 中的配置自动运行(通常为每日定时执行)。你也可以手动触发一次,验证能否正常生成 live.m3u。 获取结果​ Actions 运行成功后,生成的 live.m3u 和 live.txt 会出现在仓库的根目录(或指定输出目录),可直接通过 Raw 链接导入播放器。


方式二:Clone 项目(本地运行)

# 1. 克隆项目到本地
git clone https://github.com/yuanzl77/IPTV.git
cd IPTV

# 2. 安装依赖
pip install -r requirements.txt

# 3. 配置数据源(必须操作)
# 编辑 config.py,找到 source_urls 变量,替换为你自己拥有的合法直播源地址
# (例如自建源、已获授权的公开源)

# 4. 运行脚本
python main.py

# 生成的 live.m3u 和 live.txt 位于项目根目录,可直接导入播放器使用。

# 5. (可选)设置定时任务
# 如需每日自动更新,可使用 cron(Linux/macOS)或任务计划程序(Windows)定期执行 python main.py

⚠️ 重要提示:您 fork 后的仓库是您个人的独立副本,作者无法控制其内容。请确保您使用的所有直播源均已获得合法授权,任何因使用本脚本导致的版权或合规问题,均由使用者自行承担。


输出文件:

  • live.m3u — M3U 格式(含 EPG,带台标)
  • live.txt — TXT 格式(TVBox / 风萤直接使用)
  • function.log — 运行日志,含黑名单建议

本地播放建议搭配iptv-checker 实现个人环境高质量播放体验

配置说明

所有配置在 config.py 中修改:

# IP 优先级:ipv6 或 ipv4
ip_version_priority = "ipv6"

# 数据源列表(支持 m3u / txt 格式)
source_urls = [ ... ]

# URL 黑名单(包含任意子串的地址会被过滤)
url_blacklist = [ ... ]

# 公告条目(写在直播源头部)
announcements = [ ... ]

# EPG 地址列表
epg_urls = [ ... ]

# 质量检测
enable_quality_check = True    # True=启用质量检测(测活后过滤失效源),False=直接输出不过滤
check_timeout    = 3.5         # 单个 URL HTTP 请求超时时间(秒),超时视为失效
check_max_conn   = 50          # 最大并发检测数,调高可加速但更占带宽

IPv6 优势

  1. 更低延迟:减少视频缓冲和加载时间
  2. 更好的组播支持:更高效地传输视频内容
  3. 更稳定:避免 IPv4/IPv6 地址转换带来的连接中断

查看当前网络是否支持 IPv6:test-ipv6.com

About

每天自动更新IPTV直播源,支持IPV4/IPV6双栈访问!自定义频道,高质量直播源,❌不含有广告。Automatically update IPTV live streaming sources every day, supporting IPV4/IPV6 dual stack access! Custom channels, high-quality live streaming sources, ❌ Does not contain advertisements.

Topics

Resources

Stars

2.1k stars

Watchers

28 watching

Forks

Used by

Contributors

Languages