直播源就是一行地址,但这一行地址背后的门道不少。这一篇讲清它的几种形态(m3u、txt、IPv4 与 IPv6)、五条获取路径、公开渠道地图,以及拿到源之后怎么验证它到底能不能用、值不值得留。
抛开所有包装,一个直播源最小形态就是一行文本:
# 频道名,播放地址
CCTV-1 综合,http://some-server.com/live/cctv1.m3u8
逗号左边是给人看的名字,右边是给播放器用的地址。就这样,没别的了。所谓「一份直播源」,就是这样的行堆了几百上千条。
但它跟你在浏览器里点开的普通网址有三个关键区别。
所以「找源」这件事,本质上找的不是一个网址,而是一个可以稳定访问的地址,加上一组正确的访问姿势。后者经常是隐形的,也是新手最卡的地方。
直播源的地址后缀,直接暴露了它用的是什么协议。熟悉这几个,你会省很多事。
| 地址形态 | 协议 | 延迟量级 | 补充说明 |
|---|---|---|---|
udp://@239.x.x.x:1234 | UDP 组播 | 1–3 秒 | 只在专网里有效,公网播不了。开头的 @ 是指定网卡的写法 |
rtp:// / rtsp:// | RTP / RTSP | 1–3 秒 | IPTV 里常用来做回看和时移,对网络质量要求高 |
rtmp:// | RTMP | 2–5 秒 | 老牌协议,Adobe 系的遗产,现在更多用在推流端 |
xxx.flv | HTTP-FLV | 2–5 秒 | 低延迟直播的主流方案,国内直播平台大量在用 |
xxx.m3u8 | HLS | 10–30 秒 | 兼容性最好,代价是延迟最大。现在最主流 |
xxx.ts | MPEG-TS over HTTP | 5–15 秒 | 整段 TS 流直接 HTTP 下发,比 HLS 少一层切片 |
http://…/live/xxx/1 | 各家自定义 | 不定 | 看着像网页,其实返回的是流。别被后缀骗了 |
延迟那一栏别太当真,它取决于源本身的架构,不完全是协议的锅。但有一点基本成立:同一个台,如果能选,优先选 FLV 或 TS,其次才是 HLS。HLS 的延迟是切片机制决定的,改不了。
前面两节讲的都是「地址长什么样」「用什么协议传」。还剩一个维度没碰:地址本身属于哪一代 IP。这件事听着像网络课的内容,但实际用起来,它经常直接决定你是流畅看 4K,还是一直在那转圈。
先把结论放这儿:同一个频道,你手里往往同时有 IPv4 和 IPv6 两条源。它们通向同一个台,但走的是两条完全不同的路。
IPv4 的地址在 2011 年前后全球就分完了。分完的直接后果是,你家上网用的那个「公网地址」并不是你家独占的,而是跟同一个片区里的很多户共享。中间必须架一层 NAT,把一堆设备翻译成少量公网地址转发出去。这一层就是拥堵最容易发生的地方——晚高峰整片区域的人一起看直播,全堵在同一个出口上排队。
IPv6 的地址数量是 2 的 128 次方,多到给地球上每一粒沙子都分一个还有富余。所以它不需要 NAT,你家设备可以拿自己的地址,直接跟服务器对话。
拿电话打个比方。IPv4 像是老式写字楼的总机——整栋楼对外只有一个号码,外面打进来还得总机转一道。IPv6 像是每个人都配了直拨分机——不用转,直接通。对直播这种「一路数据要持续不断送过来」的场景,少一层转发就是少一个可能出事的地方。
两类源摆在一起是这样:
# IPv4 源
CCTV-1 综合,http://218.63.12.34:8080/live/cctv1.m3u8
# IPv6 源
CCTV-1 综合,http://[240e:3a1c:8f00::1]:8080/live/cctv1.m3u8
注意 IPv6 那对方括号。它不是排版装饰,是必需的。原因很直接:IPv6 地址本身就用冒号分八段,而冒号在网址里又是「端口从这里开始」的标志。不打方括号,播放器根本分不清哪个冒号属于地址、哪个冒号是端口。少这一对括号,这条源就是废的——这是复制 IPv6 源时最容易踩的坑。
反过来,识别也很简单:地址里出现方括号包着一长串带冒号的东西,那就是 IPv6。纯 IPv4 就是四组点分数字。有些源写的是域名,那就要看域名解析出来什么——同时有 IPv4 和 IPv6 记录的域名,走哪条取决于你的设备和网络当时的判断。
三个原因,按实际重要性排:
这三点连起来看,还能解释一个现象:运营商供着的那批免费源里,IPv6 那一支活得明显更久。用户少、负载低、运营商没动力去管,它就这么一直开着。(这个逻辑在第 12 章讲「谁在供养免费源」时还会用到。)
IPv6 源的第一个坑从来不在源,在你家网络。它要求整条链路都支持才行:
| 环节 | 要求 | 最常见的卡点 |
|---|---|---|
| 光猫 | 硬件支持 IPv6 | 近几年运营商给的千兆光猫基本都支持;十几年前的百兆老光猫硬件上就不行 |
| 路由器 | 已配置并放行 IPv6 | 出厂默认多半只开 IPv4。光猫桥接、由自己路由器拨号的,IPv6 开关就在路由器里,而这一栏常常是关着的 |
| 终端 | 盒子 / 电视 / 手机 / 电脑支持 | 2018 年之后的设备基本没问题,更老的设备不一定 |
| 播放器 | 内核支持 IPv6 | 基本不算问题,主流播放器都支持。真出问题九成还是前三层 |
四层里任何一层掉链子,结果都一样:所有 IPv6 源一条都放不出来。而这时候你几乎一定会误判成「这批源全挂了」——这是最冤的一种情况。
这一步最容易被跳过,但它是全部前提。Windows 下开命令行敲:
ipconfig
看有没有以 240e、2408、2409 开头的地址——这三段分别是电信、联通、移动的 IPv6 地址段。注意要的是全局地址,不是 fe80 开头的本地链路地址(那个每台设备都有,说明不了任何事)。
或者更干脆,直接试出口:
ping -6 www.qq.com
能通,说明你家有 IPv6;不通,后面所有 IPv6 源都不用试了。
这里有个细节值得单独提一句:ping 默认走 IPv4,测 IPv6 必须加 -6。不少人在这儿测了个寂寞,看到 ping 通就以为 IPv6 正常,其实那条命令压根没碰过 IPv6。
确认没开的话,两条路能走通:一是打运营商客服电话,说要「开通宽带的 IPv6 权限」,这是免费的,后台点一下,通常十分钟内生效;二是自己进路由器把 IPv6 打开,位置一般在「IPv6 设置」或「网络设置 → IPv6」,模式选自动(SLAAC)或 DHCPv6。
测法和 IPv4 源只差一个参数,但就是这一个参数决定结果准不准:
curl -6 -I "http://[240e:3a1c:8f00::1]:8080/live/cctv1.m3u8"
-6 是强制走 IPv6。不加它,如果那个地址是域名、且域名同时有 IPv4 记录,curl 可能就走了 IPv4,那你测出来的结果跟 IPv6 通不通毫无关系。用 ffprobe 探流同理,该强制就强制。
然后是那条一定要记住的判据:如果你机器本身就没有 IPv6(上一步 ping -6 不通),那你测任何 IPv6 源都会失败。这时候失败的不是你手上的源,是你的网络。先把自己的网络搞通,再去怀疑源——顺序反了,只会白折腾一晚上。
| 对比项 | IPv4 源 | IPv6 源 |
|---|---|---|
| 地址长相 | 四组点分数字,如 218.63.12.34 | 方括号包住冒号分段,如 [240e::1] |
| 要不要过 NAT | 要,和同片区的人共用出口 | 不要,直接和服务器对话 |
| 画质上限 | 一般,超高清频道多要鉴权 | 高,运营商 4K / 8K 大量挂在 IPv6 侧 |
| 拥挤程度 | 高,晚高峰尤其明显 | 低,走的人少 |
| 对家庭网络要求 | 没有,有网就行 | 光猫、路由器、终端、播放器四层都要支持 |
| 源的平均寿命 | 短 | 相对长,运营商 CDN 节点开得久 |
| 能不能混用 | 能。两类源可以放在同一个 m3u 里,播放器一个个试,不区分代际 | |
别把这件事理解成「IPv6 源更高级,我要全换过去」。它只是另一条路,各有各的用处。
最后回答一个常被问到的:IPv4 源和 IPv6 源能混在同一个 m3u 里吗?能,完全没问题。播放器是一个一个去试的,它不关心你给的是哪一代地址,能出画面就行。所以最稳的做法,就是把手上所有的源不分代际混成一队,让播放器自己往下挑。
这个问题被问得最多,但答案往往被含糊过去。实际就五条路,每条路的门槛、成本、产出质量都不一样。我按「普通人能走多远」的顺序排。
互联网上有一个知名度极高的开源项目 iptv-org/iptv。它做的事就是把散落在各处的公开直播地址自动抓取、清洗、去重、分类,整理成一份每天更新的播放列表。这个项目在 GitHub 上有十万量级的收藏,几百位贡献者持续在提交新频道、修失效链接。
它给出的播放列表地址是:
# 全量主列表(所有国家和地区的频道)
https://iptv-org.github.io/iptv/index.m3u
# 按国家拆分的子列表,例如只看中国大陆的
https://iptv-org.github.io/iptv/countries/cn.m3u
# 按分类拆分的子列表,例如只看新闻类
https://iptv-org.github.io/iptv/categories/news.m3u
这份列表的特点是:地址全部来自公开渠道,性质最干净(项目用的许可近乎公共领域),每天自动更新,覆盖两百多个国家和地区。
但你用之前得知道它的短板:它以境外频道为主,国内的央视频道和省级卫视收录得很少,而且里面大量地址在国内网络环境下需要代理才能看。所以它的正确用法不是「拿它当主力」,而是「想看某个国家的新闻台时,进去按国家筛一份出来」。想靠它替代国内的常用频道列表,会失望。
这才是绝大多数人实际在用的东西。一些长期做这件事的个人或小团队,会把自己整理维护好的列表挂在自己的服务器或代码托管平台上,形成一条可以长期订阅的链接。
它的形态通常是这几种:
.txt 或 .m3u 直链,软件里填进去就能用。lives 字段指向直播列表——这是 TVBox 用户最常见的形态。这类源的质量差距极大,而且差别不在技术,在人。同样一份 500 台的列表,有人整理的版本台名规范、分组清楚、死链清得干净;有人整理的就是随手复制粘贴,一半打不开,台名还重复三遍。所以圈子里那句「认人比认地址重要」是真的。
按照社区里的实际观察,这类订阅链接的平均生命周期大约是一个月。失效是常态,不是意外。所以正确的心态是「订阅链接是消耗品」,而不是「找到一个就一直用」。手上同时养两三条不同来源的链接,某一条挂了立刻切,这才可持续。
如果某个台你在别处就是找不到,自己动手是唯一办法。原理简单:任何在你设备上播放的视频,地址一定经过了网络收发,把请求记录下来,从里面找出真正拉流的那一条。
具体到常见场景,做法不太一样。手机 APP 里的直播,一般是在手机上装抓包工具、配好证书和代理,然后在 APP 里播放,去记录里找形如 xxx.m3u8、xxx.flv 的请求。网页端最省事,浏览器按 F12,切到「网络」面板,播放的时候看请求列表,按类型筛一下基本就出来了。电视盒子麻烦一些,需要把盒子的网关指到电脑上的抓包代理去。
抓出来之后还有一步不能省:把地址变成「能重复使用」的形态。直接从请求里复制的地址往往带着一次性的 token、绑着设备标识,或者依赖某个请求头。所以你还得把 token 去掉试试、把依赖的 Referer 和 UA 记下来,补进 m3u 的 #EXTVLCOPT 里。「扒源」的完整工作量,一半在抓,一半在还原访问条件。
如果你家里正常办了运营商的 IPTV 业务,那专网里那几百个频道其实是可以变成自己能用的单播地址的。做法是在局域网里跑一个转换工具(路由器插件里就有成熟实现),让它以组播成员的身份去「加组」,收到数据后再以 HTTP 的形式分发给任何来访者。转出来的地址形如:
http://192.168.1.1:4022/udp/239.45.1.1:1234
这条路径的产出质量其实是最高的——毕竟直接来自运营商,清晰度和稳定性都不是网上那些二道源能比的。但它有三条明确的边界:只在你自己的局域网内有效;想在外网看就得开端口映射并绑动态域名,带宽和安全性都要自己扛;而且这一切的前提是你本来就有这个业务的权限,把它公开出去给别人用就是盗播了。
手上有信号源(比如采集卡接卫星接收机)又有服务器的人,可以直接自己推流、自己分发。技术上完全可行,成本主要是上行带宽——一路 1080P 的流跑满一个月,就是几百 GB 的流量。这条路属于「有资源的人才玩得起」,对绝大多数人没意义。
上一节讲的是「源从哪来」,那是原理层面的分类。但实际被问得最多的,是更具体的一句:我今天想给电视补上几个台,第一步该打开哪个网站?
这一节就把这件事做实。我按门槛从低到高,把实际在用的几个渠道过一遍,每个都讲清三件事:里面有什么、进去要付什么代价、拿到的东西大概能活多久。
先说一个贯穿全部的结论:门槛越低的地方,拿到的源越脏、越短命。这不是道德判断,是结构决定的——一个不需要注册、不需要验证、不需要对任何人负责的地方,也就没有谁在为质量兜底。
国内做这件事最集中的地方,是恩山无线论坛里的一个板块,全名「国内 IPTV 直播源、播放软件与网络视听代码」。名字看着挺正式,实质是个大型分享区。
那这将近两万四千个帖子里到底在发什么?翻几页就有感觉了。板块的「推荐主题」栏最直观——标题几乎全是「某省某运营商」开头。
这就是国内直播源最重要的一条常识,论坛管理员自己在置顶帖里也写了:这类源天生带地域性。同一个台,联通、电信、移动三家的地址完全不同;同一个运营商,隔一个省又是另一套。所以你在论坛看到一条「完美可用」的源,第一件事是看发帖人的运营商和省份——跟你不一致,就先别激动。
把列表往下拉,帖子大致能归成四类。一类是运营商专网源的整理,标题像「上海电信IPTV组播源」,这类质量最高,但基本只对同网同省的人有用。一类是抓包记录,像「大连云抓包大连台,大连仅剩3个台」,属于单点突破,别人的环境复制不了。第三类是软件发布与魔改,前面几章讲的酷9、影视仓、蜂蜜版,最早的发布和持续更新大多就在这个板块里。最后一类是从酒店、公共场所扒出来的源,碰运气性质。
看帖本身没有门槛,我实测不登录就能打开列表页、看到全部标题和正文。但要真把东西拿到手,有两道关。第一道是手机号验证:论坛公告要求所有账号绑定国内手机号,没绑的账号不能发帖、不能跟帖、不能发站内信。公告里还写了发送频率上限——每分钟 1 条、每小时 2 条、每天 4 条,所以收不到验证码时别狂点重发。第二道是积分:不少帖子把附件设成「售价 1 恩山币」,你得先回帖攒分才下得了。
但真正值得你记住的,是这个板块置顶说明里管理员自己写的话。我原样引几句,因为他说得比我清楚:
「我们无法一一去验证是否有效以及真实性,请各位在支付购买前最好看一下前人的回帖或者评分,确认资源有效或者 APP 可用才点击下载。」
「资源一般都有有效期的,发布人有时也不是恶意欺骗,毕竟第一天发布了、第二天就被封了也很正常。」
「网络资源有时有地域性,作者发布的自己能用、但无法确保几千公里外、在天涯海角的你也能用。」
「时间太长的贴子资源就不要为难别人了。」
翻成大白话就是:论坛不是仓库,是集市。管理员明确说了自己不验货,出了问题自己找卖家。你在这儿拿到的东西,有效期可能只有几天,判断权完全在你手上——回帖里有没有人喊「打不开」、发帖时间是不是三个月前,这两样比标题里写的「稳定可用」有用得多。
还有一条边界要讲清楚。这个板块有一条明确的置顶规定:不得发布涉及中国台湾地区以及境外的频道源和程序,违反的会被封号处理。一个正规的国内技术社区,内容是有明确边界和合规要求的。这件事对你判断「渠道靠不靠谱」其实是个正面信号:愿意挂这种公告、并且真的执行的社区,说明它自己在承担合规责任;反过来,什么都敢发、什么源都往里塞的地方,你就要多想一层了。
第二类放在代码托管平台上的公开项目。最有代表性的还是前面提过的 iptv-org/iptv。我在写这一节时查了它的实时数据:14 万 star、8100 多个 fork,最后一次代码提交就在当天,许可证是 Unlicense——相当于放弃版权、完全交给公共领域。
这类项目好在哪?好在一切都可查。谁提交的、什么时候提交的、删了什么加了什么,全在提交记录里;链接有效性由自动化任务每天跑一遍;许可证写清楚了你能怎么用、能用到哪一步。这是所有渠道里唯一能做到「我大概知道这些东西是谁在维护、上次动是什么时候」的一类。
短板也一直在:以境外台为主,国内央卫视收录得少。所以它的正确用法是「想看某个特定频道时进去筛一份出来」,不是拿来当主力。
还有一类更小众的:按省拆分的项目。比如有人专门维护某一个省的公开 IPTV 频道,仓库里就一份列表文件加一份说明。这类项目的价值在于够专,只在做一件事,往往比大项目做得细。但也正因为小,作者停更就是真停更,更新节奏全看个人心情。
第三类思路完全不同:不给你源,给你一个能生成源的程序。你自己跑一遍,它去各个公开来源抓取、去重、验活,最后吐出一份属于你自己的列表。这类工具的价值在于——生成出来的东西在你自己的服务器上,不依赖任何人替你续命。第 11 章讲自建的时候会展开。
第三类介于两者之间,是各种「IPTV 导航站」。它们自己不做源,做的事是把上游渠道列出来、分好类、摆整齐。
这类站点的价值很实在:它能让你一次看清上游都有谁。省得你一个个去搜。刚入门的时候拿它当地图看一遍,对这个圈子的结构就有概念了。
但你要知道风险在哪。它不产生内容,只做转述,所以它列的地址可能是从别处抄来的、可能早就过期、也可能掺了自己的推广。中间商这一层,天然比源头多一份不确定性。
我的建议是把它当索引,不当来源。看到感兴趣的名字,去它自己的原始出处——GitHub 仓库、论坛原帖——确认一遍再动手。
最后一类最常见,也最需要留个心眼:各种「公众号回复关键词领源」「加群获取」「评论区置顶」。
先把话说公道:这里面确实有认真的作者,在公众号里写教程、长期维护源,做得比很多公开渠道都细致。问题不在人,在形态。
私域渠道的共同特征是:没有公开记录,没有版本,没有历史。一篇文章今天发了、明天删了,你手里的地址就成了孤儿;这份源是哪天抓的、能用到什么时候、作者还更不更新,全都查不到痕迹。更麻烦的是,这类渠道的目的往往不只是「给你源」——「加群」「回复关键词」「关注后获取」这些动作本身,才是它的用途。
看它要你做什么。如果拿到一条源需要你先关注、再回复、再加群、再等审核,那这条源的价值和它的获取成本就是不匹配的。真正的好东西不需要这么多道关卡——一份直接能下的 raw 链接、一个挂在 GitHub 上公开的仓库,没什么可藏的。
这条前面讲过,这里只补一句它为什么必须在这张地图上占一个位置:它是唯一一条链条上没有任何陌生人的路。源来自你花钱买的业务,中间不经过任何第三方,寿命跟你的宽带套餐一样长,画质还是原始信号。
代价是它有前提:你得本来就有这个业务,而且转出来的东西只在你自己的局域网里有效。想把这条利用起来,看第 11 章。
如果只让我说一条规律:获取门槛和内容可靠度基本是正相关的。左下角那些「打开就能拿」的地方,你省下的每一步,最后都会以「这条源什么时候挂、我该找谁」的形式还回来。
| 渠道 · 门槛 | 你能拿到什么 | 要接受的代价 |
|---|---|---|
| 技术论坛(恩山等) 手机号验证 + 积分 | 分省分运营商的专网源、软件发布与魔改、抓包记录 | 管理员明说不负责验货,有没有效要自己判断 |
| 开源项目(GitHub) 会用代理就能下 | 结构化的频道列表、每天自动验活、提交历史可查 | 以境外台为主,国内央卫视收录得少 |
| 导航站 / 聚合站 打开即看 | 一份现成的上游渠道索引,入门时当地图用 | 转述层,地址可能过期、可能掺了推广 |
| 公众号 / 群 / 短视频 关注 + 回复 + 加群 | 零散,偶尔能碰到整理得不错的作者 | 无公开记录、无版本,随时可能消失 |
| 自己的运营商专网 本来就有这个业务 | 原始画质,寿命跟宽带套餐一样长 | 只在自己局域网内有效,转外网要自己扛 |
最后给三条能直接用上的规矩。
一、别在同一个渠道上吊死。手上同时养两三个不同来源的列表,某一条挂了立刻切。这比去找「一条永久的源」现实得多——那种东西不存在。
二、看帖先看两样:发帖时间和回帖。发帖时间决定它大概还有没有效,回帖里有没有人喊「打不开」决定它现在是不是已经废了。标题里那句「稳定可用」,是最不值得信的。
三、认人比认地址重要。这是圈子里的老话。同一个板块里,有人整理的东西能连着用很久,有人发一次就没了影。跟着长期更新的人走,比收集一堆地址有用得多。
这件事比找源更重要。你拿到的可能是 500 条、3000 条的一份列表,而实际能用的往往只有一两成。如果一条一条拖进播放器里试,一下午就没了,而且试到第 50 条你就不想试了,最后留下一堆根本播不了的死链。
所以验证必须分层做,而且要自动化。核心思路是「先用最低成本砍掉绝大部分,再对少数幸存者做精细检查」。
手上只有几条源的时候,不用上工具。把地址粘进 VLC 或 PotPlayer 的「打开网络串流」,然后看这几件事:
然后是判定。下面这张表基本覆盖了所有你会遇到的情况。
| 你看到的现象 | 结论 | 还能救吗 |
|---|---|---|
| 播放器提示「无法打开」 | 地址死了,或者服务器拒绝了你的请求 | 先怀疑请求头。拿 m3u 加 #EXTVLCOPT 试一次,不行就扔 |
| 一直转圈,永远不出画面 | 服务器响应了但没给数据,或者给得极慢 | 基本没救。这是最常见的一种「假死」 |
| 能出画面但几秒后卡住 | 服务器并发被占满,或者你的带宽不够 | 换个时间段再试。晚上八点能播的源,可能十点就播不了 |
| 画面正常但声音不出 | 音频编码你的设备不支持 | 换播放内核。部分源还有救 |
| 画面有滚动字幕或跑马灯水印 | 这是二道贩子转出来的源 | 扔。这种源的画质和稳定性都不会好 |
| 能播,画质很好,很流畅 | 好源 | 记下来,加个备注。这种要珍惜 |
如果你装了 FFmpeg(它自带 ffprobe 这个探测工具),就能在不解码播放的情况下,直接问服务器「你这条流里有什么」。这条命令最实用:
ffprobe -v error -rw_timeout 8000000 -select_streams v:0 ^
-show_entries stream=codec_name,width,height,avg_frame_rate ^
-of default=noprint_wrappers=1 "http://xxx/live.m3u8"
(Windows 命令提示符里换行用 ^,PowerShell 里用反引号,或者干脆写成一行。)
它会回给你类似这样的东西:
codec_name=h264
width=1920
height=1080
avg_frame_rate=25/1
于是你就知道了三件事:能连上、有视频轨、是 1080P25。反过来,如果它只回一个错误,那这条源就不用再试了。这个判断比拖进播放器快得多,因为播放器还要等缓冲和渲染。
还有一个更短的「活着吗」命令,只判断能不能取到流,不关心内容:
ffprobe -v error -i "http://xxx/live.m3u8" -t 2 -f null -
能跑完不出错就是活的,报错就是死的。批量跑的时候用这个。
手工验证只适合收尾,批量必须靠工具。目前成熟的路子有两条。
一条是图形界面的桌面工具。社区里有一个叫 IPTV Checker 的开源桌面应用,Windows 上可以直接用包管理器装:
winget install --id=kristofferR.IPTVChecker -e
它能把整个 m3u 文件或一条订阅链接全部跑一遍,自动标出每条频道是「活着 / 死了 / 被地域限制 / 加密的 / 只有声音」,还会用 ffmpeg 抓一张画面的缩略图让你肉眼确认,顺便报出编码、分辨率、帧率、码率。跑完能导出成 CSV,或者直接导出「只剩活着的那些」的干净 m3u。这个「导出干净 m3u」的功能,是整个流程里最省时间的一步。
另一条是命令行的检测器。有一个基于 ffprobe 的命令行工具,用起来是这样的:
# 直接清洗整个播放列表,只保留能用的(会覆写原文件,先备份)
iptv-checker --file playlist.m3u --workers 10
# 深度模式:真的抓一帧画面,看是不是「频道已下线」这类提示图
iptv-checker --file playlist.m3u --thorough --workers 10
那个 --thorough 参数解决的是一个很隐蔽的问题:有些源其实已经停了,但服务器还在,返回的是一张写着「频道已下线」或者「Error」的图片。普通检测只会告诉你「这条能连上」,深度检测会抓帧看图,把这种伪装成活的源挑出来。用过一次你就知道值。
上面那个 IPTV Checker 是英文软件,功能也单一——只干检测这一件事。而在中文圈子里,更主流的一类工具被统称为「工具箱」:它们不只做检测,还把搜源、去重、分组、试播、导出全揉进同一个界面。你提到的橙子工具箱和 WT 工具箱都属于这一类,而且它俩还有点渊源,得先说清楚——WT 工具箱是「前身」,橙子工具箱是「现在」,同一个作者的东西。这个脉络不说清,你在网上搜的时候会同时撞见这两个名字,很容易以为是两款互不相干的软件。
工具箱这类工具真正解决的,是前面反复强调的那个矛盾:源的平均寿命只有一个月左右,所以「搜到新源 → 立刻测一遍 → 只留活的 → 导出替换」必须是一个连贯动作。如果拆成三个软件分步做,你坚持不了几轮就会放弃。工具箱的价值不在于它比 IPTV Checker 测得准,而在于它把这条流水线压进了一个窗口。
WT 工具箱是一个开源的小工具,作者网名「一个橙子」(早期叫「变饼档」)。它其实只做一件事:把一份列表里的每一条地址都请求一遍,告诉你哪些还活着。界面朴素到有点简陋,但功能完全对口。
它有四个设计细节,用起来才知道好:
另外提醒一个实操上的坑:导出按钮只会导出「已检测且有效」的源。如果你还没测完就点导出,会得到一个空白文件或者半成品。很多人第一次用会以为软件坏了,其实只是导出逻辑如此——它默认你已经先测完了。还有,「健康模式」这个选项是拿来过滤某些不良源地址的,作者的原话是「还请自觉打开」。
WT 工具箱后来停更了。作者没有继续单独维护,而是把它拆成了一个插件,装进自己做的另一个平台里——这就是「一个橙子工具箱」,现在叫迷途工具箱(metools)。所以你在网上会遇到三种叫法:橙子工具箱、迷途工具箱、metools,指的都是同一个东西。
它和 WT 工具箱最大的区别是架构变了:橙子工具箱本身是个「空平台」,具体功能靠插件往里装,WT 检测只是其中一个插件(项目名叫 metools-app-wtv)。这个设计的好处是作者能持续往里加新工具、老插件照样能用;代价是你得先装平台、再装插件,比当年一个 exe 双击打开要麻烦一点。
插件版的检测流程和 WT 一模一样:导入 m3u/txt、逐条检测,结果显示速度(毫秒)、分辨率、帧率,支持去重、按速度排序、右键重命名/复制/清除无效,另外多了个「扫源助手」负责从别处把源导进来,以及一个能按范围导出的对话框。换句话说,换了个壳,里面还是那个测源器。
WT 工具箱的「搜一搜」是它和所有同类工具拉开差距的功能,也最容易被误解,所以值得单独讲。
理解它的关键在一句话:软件自己不提供任何直播源。你在搜索框里敲「湖南」,它不会凭空变出湖南卫视。它实际干的事是——把你输入的关键词,发给一个你自己配置好的搜索接口,那个接口返回一批候选地址,工具把结果填进列表、顺手测一遍。所以搜索能不能用,取决于两个前提:你有没有配搜索地址(或者激活码),以及那个地址背后的服务还在不在。
作者为此做了一个「内置源」模式:在设置里填一个激活码,就不用自己找搜索接口了。码是限量的、会过期,需要去他的公众号取。想彻底自己掌握,也可以自己搭一个搜索接口——格式是固定的,就是一个普通的 GET 请求:
GET http://你的域名/api/tv?tvName=关键词&ipv6=1
返回:
{
"code": 0,
"msg": null,
"data": [
{ "name": "cctv-1", "url": "http://xxx.m3u8" }
]
}
搜索框还支持「联合搜索」,用竖线把多个关键词隔开,一次搜一批:
湖南|湖北|陕西|南京
但这里有个容易踩的坑。单个搜索也好、联合搜索也好,都只是一种「约定」——某几个关键词怎么解析、竖线代表什么,是接口那一端的代码在定义,不是软件在定义。换个接口,同一套语法可能就完全不认了。所以看到别人分享的搜索语法,先确认它配套的是哪个接口。
到这里,测源这条路你已经见过好几种走法了。放在一张表里对比一下,按你的场景挑就行。
| 工具 | 平台 · 界面 | 能干什么 | 适合谁 |
|---|---|---|---|
| WT 工具箱 | Windows / macOS · 中文 | 搜源 + 检测(切 FFMPEG 引擎可测分辨率)+ 去重 + 试播 + 导出,一条流水线走完 | 想在一个窗口里把「搜—测—导」做完的人。已停更,但单文件、免安装,今天仍能用 |
| 橙子工具箱 (迷途工具箱) | Windows(Electron)· 中文 | 和 WT 同源,功能以插件形式提供,作者还在持续加新插件 | 接受「先装平台、再装插件」,想跟着作者长期用的人 |
| IPTV Checker | Windows / macOS / Linux · 英文 | 纯检测:批量跑一遍、ffmpeg 抓帧、导出「只剩活源」的干净 m3u。没有搜源 | 只要一个干净结果的人。最后一步用它洗一遍列表,最省时间 |
| IPTV-API | 服务端(Docker / 命令行)· 英文 | 自动聚合 + 测速 + 定时生成新列表。它解决的是「养源」,不是「测源」 | 有服务器、想让列表每天自动更新的人 |
| 自写脚本 | 任意系统 · 无界面 | 只测连通性,看 HTTP 状态码,测不出画质 | 偶尔清一次列表。几十行搞定,不依赖任何第三方软件 |
如果要我给一个干脆的建议:主力用工具箱类工具跑「搜—测—导」这条流水线,最后一步拿 IPTV Checker 再洗一遍导出成干净的 m3u。前者解决效率,后者解决输出质量。两件事各用各的强项,比指望某一个软件全能要靠谱。
工具箱本身是干净的——WT 工具箱开源,橙子工具箱有作者自己的站点和公众号,源码摆着给你看。问题出在传播环节:这类软件因为「能搜到免费电视源」的名声,被大量下载站二次打包过,塞广告、塞推广、甚至塞后门。搜索引擎排在前面的那些「XX工具箱绿色版」「去广告版」,绝大多数不是作者发布的。
所以只有一条规矩:认作者,不认软件名。橙子工具箱去「一个橙子」的公众号或他自己的站点拿;WT 工具箱去它的开源仓库(biancangming/wtv)的 releases 页拿。名字对得上、来源对不上,一样不能用。
如果你只是偶尔清一次列表,用 Windows 自带的 curl.exe 写个几十行的 PowerShell 就够了。思路是:把地址从列表里抠出来,逐个请求,把返回 200 的挑出来。
# 1. 从 txt 列表里抠出所有地址
$urls = Get-Content .\live.txt |
Where-Object { $_ -notmatch '^#' } |
ForEach-Object { ($_ -split ',')[-1].Trim() } |
Where-Object { $_ -match '^https?://' } |
Select-Object -Unique
# 2. 逐个探测,记录状态码和耗时
$result = foreach ($u in $urls) {
$t0 = Get-Date
$code = & curl.exe -s -o NUL -m 8 -w "%{http_code}" `
-A "VLC/3.0.20 LibVLC/3.0.20" "$u"
[pscustomobject]@{
Url = $u
Code = $code
Ms = [int]((Get-Date) - $t0).TotalMilliseconds
}
}
# 3. 存活的导出来
$result | Where-Object Code -eq '200' |
Select-Object -ExpandProperty Url |
Set-Content .\alive.txt -Encoding UTF8
几个细节别踩坑:那个 -A 参数是在伪装成 VLC 的 User-Agent,必须加,否则很多源会直接把你挡掉,你会误判成死链。另外 -m 8 是超时 8 秒,太短会误杀慢源,太长会拖慢整批。Select-Object -Unique 是在去重——列表里同一条地址出现三次是常态。
今天测出来好的,不代表下个月还好。测源这件事本身就是个周期性工作,不是一次性工作。如果你的列表是长期在用的,建议每隔两三周重跑一次,把死掉的清掉。这也是为什么前面说「手上的源要养两三条」——因为验证和替换是一个常态化的循环。
上面所有检测都只能告诉你「这一刻能用」。但源的体验还受一个因素影响:晚上八点行不行。很多小服务器白天随便跑,一到晚上黄金时段就集体卡死。所以如果你特别在意某个台,别只在上午测。在你想看它的那个时间点测一次,才是有意义的。
新手挑源只看「能不能播」,这不够。真正决定体验的是这五项。
| 维度 | 看什么 | 注意点 |
|---|---|---|
| 可用性 | 能不能连上、能不能出画面 | 最常见的假象:连上了但一直转圈,这种也算不可用 |
| 清晰度 | 1080P / 720P / 标清 | 很多源标着 4K,实际是低码率放大,糊得一塌糊涂 |
| 稳定性 | 连续看两小时断不断 | 看十秒没问题不代表能用,测源一定要跑长一点 |
| 延迟 | 和真实时间的差距 | 看体育比赛时这个很要命,HLS 源可能落后半分钟 |
| 附加条件 | 要不要代理、要不要鉴权、带不带水印 | 带滚动字幕、带台标、带「XX影视」跑马灯的,多半是二道贩子转的 |
源的质量和它的「稀缺度」成反比。央视和省级卫视的源遍地都是,随手一搜几百个,因为它们本来就是公开信号,谁都能转。而地方台、港澳台、境外台、付费体育频道的源就非常珍贵也极不稳定——不是找不到,是找到了也活得短。所以如果你看到有人卖「独家体育源」,先别急着信,先想想他为什么在卖。