ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

10 分钟跑通 iptv-checker:从一条命令部署到导出可用频道列表

10 分钟跑通 iptv-checker:从一条命令部署到导出可用频道列表

10 分钟跑通 iptv-checker:从一条命令部署到导出可用频道列表

【免费下载链接】iptv-checkerIPTV checker tool for Docker && CMD, check your playlist is available项目地址: https://gitcode.com/GitHub_Trending/ip/iptv-checker

开播前,M3U 源里几百个频道要逐个点开确认能不能播?iptv-checker 是一个跑在 Docker 容器里的 IPTV 播放列表检测工具,帮你批量验证频道可用性,直接导出过滤后的列表。

它是什么:30 秒看懂 iptv-checker

读完这一节,你会知道它能解析什么格式、怎么检测、跑在哪些平台上。

iptv-checker 的核心逻辑只有一件事:把 M3U、M3U8、TXT 格式的播放列表逐个频道过一遍检测,告诉你哪些还能用。它提供 Web 管理后台,也提供 CLI 二进制和 Windows / macOS / Linux 桌面端。

能力一句话说明
格式支持解析 M3U / M3U8 / TXT 播放列表
检测方式HTTP 快速检测 + FFmpeg 深度检测双模式
部署形态Docker 镜像、docker compose、CLI 二进制、桌面应用
结果导出M3U / TXT 格式,IPv4 与 IPv6 可分别导出
后台任务支持并发检测、定时任务、任务导入导出

最短路径:一条命令跑起来

读完这一节,你会拿到一个浏览器能访问的检测面板。

Docker 是最省事的路径:拉取官方镜像并启动容器,把本机 8081 端口映射到容器内的 8089。

docker pull zmisgod/iptvchecker docker run -d -p 8081:8089 --name iptv-checker zmisgod/iptvchecker

跑通后,浏览器打开http://127.0.0.1:8081就能看到检测后台;也可以先执行curl -I http://127.0.0.1:8081确认服务已响应。不想手动敲命令的话,仓库自带 docker-compose.yaml,克隆仓库后执行docker-compose up -d效果相同;桌面版和 CLI 版本从项目 Releases 下载对应平台安装包即可,不用 Docker。

跟着做完:第一次检测的完整操作

走完这 4 步,你会得到一份过滤掉失效频道的 M3U 文件。

  1. 导入播放列表。在 Web 界面粘贴 M3U 链接或上传本地文件。这是检测的数据源,格式不对的话后续结果全空。
  2. 创建检测任务并启动。创建时可以勾选 FFmpeg 强制检测。HTTP 检测快,FFmpeg 检测慢一些,但能确认码流真的可解,结果更可信。
  3. 等待结果并核对状态。几百个频道通常需要几分钟。结果表里每个频道都有状态标记,用关键词搜索框输入频道名(支持通配符)可以快速定位某个频道。
  4. 导出可用列表。只勾选"可用"状态后导出,得到的 M3U 文件可以直接丢进播放器。这一步是整个流程的出口,之前所有检测都是为这份文件服务。

小提示 ⚠️:如果源里混有 RTMP 这类非 HTTP 地址,检测时开启"跳过非 HTTP 源",避免它们在结果里长时间挂着不动。

效率进阶:让 iptv-checker 替你干活

读完这一节,你可以把"手动点一下才检测"升级成"到点自动检测"。

配置定时检测任务

在任务管理里创建后台任务并设置检查周期(如每天凌晨 2 点)。任务到期自动跑一遍全量检测,第二天你看到的永远是新鲜结果。5.0.0 版本之后,单个任务卡死会被强制超时复位,不会再堵死后续任务。

按规模调整检测参数

默认配置适合中小列表,源超过上千条时可以调一调:

配置项建议值为什么这么设
并发数5-10太低检测慢,太高容易把对端源打超时
超时时间5-10 秒按你的网络状况定,太小会误判慢源为失效
ffmpeg_check默认关闭,重要源开启深度检测慢但准,全量开启耗时明显增加

默认 vs 调整后:默认参数下 500 个频道的检测以速度优先,个别慢响应源可能被误标失效;把超时调到 10 秒并对核心源开启 FFmpeg 检测后,这类误判基本消失,代价是总耗时拉长几分钟。

用关键词筛选再导出

检测结果页面支持关键词匹配,输入CCTV或*HD*缩小范围,再结合状态筛选只保留"可用"频道。配合按 IPv4 / IPv6 分别导出,家里和单位的播放设备各拿一份最合适的列表。

遇到问题先查这里

症状快速解法
启动后 8081 无法访问多半是端口被占用,docker logs iptv-checker看报错,换宿主机端口即可
频道长时间停在"检测中"加大超时时间,或开启"跳过非 HTTP 源"让 RTMP 等地址直接略过
检测结果不太可信对关键源开启 FFmpeg 强制检测,用解码结果代替状态码判断
抓取 GitHub 上的公共源频繁失败系统配置里填入github_token,API 配额从 60 次/小时提到 5000 次/小时
导出的列表里混着失效频道确认任务跑完再导出,并在筛选条件里只保留"可用"状态

以上都没命中?去项目 Issues 里搜 "timeout"、"ffmpeg" 等关键词,历史问题大多有现成答案。

一个几百条频道的列表跑完检测只要几分钟,配上定时任务后日常维护成本趋近于零,省掉的是每周手动逐个试台的时间。顺序建议:先把一次完整检测跑通,再配置定时任务,最后把导出的 M3U 接到播放器里。

【免费下载链接】iptv-checkerIPTV checker tool for Docker && CMD, check your playlist is available项目地址: https://gitcode.com/GitHub_Trending/ip/iptv-checker

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进