5月15日下午,中央广播电视总台正式对外官宣了世界杯版权谈判结果。双方的版权合作不仅包括美加墨世界杯,还包括2030年世界杯、2027年女足世界杯以及2031年女足世界杯。根据双方合作意向,中央广播电视总台确认获得本周期合作赛事中国大陆独家全媒体权利及媒体分授权利,包括开路电视、付费电视、互联网和移动设备等。
不过据我观察,版权虽回到了「大屏电视」,用户的观看习惯却早就变得分散了。对普通观众来说,这意味着大赛还是有地方看;但对影音玩家来说,另一个熟悉的问题又来了:直播入口、节目单、客户端、频道列表,能不能统一整理得舒服一点?
这次要折腾的Docker项目,GitHub 仓库名是rebeliptv/iptv。光看名字大家应该也知道是干啥的。

项目介绍
一个可以自部署的 IPTV 服务端,把 live TV 频道和 sports events 聚合成一个统一的 M3U 播放列表,同时提供完整的 EPG 节目单数据。更关键的是,它会对直播流进行代理,客户端不会直接暴露上游源地址。最后你只需要把它生成的 M3U 和 EPG 地址接到 Jellyfin、Plex、Emby 或其他客户端里,就能把原本零散的直播入口统一管理起来。
项目特点
- 频道集中管理:可将 IPTV 频道整理成统一的 M3U 播放列表,并保留频道 Logo、分类和固定频道编号,后续接入客户端时更清爽。
- 节目单支持:提供 XMLTV 格式的 EPG 节目单,客户端里可以看到节目名称、时间、简介等信息,不再只是一个孤零零的播放地址。
- 体育信息展示:项目支持 NHL、NFL、NBA、MLB、MLS 等赛事信息,并通过 ESPN 数据展示赛程、比分、球队和比赛状态,适合做赛事季的影音中心补充。
- 自有 M3U 导入:支持添加 M3U URL 或上传 M3U 文件,把用户已有的合规播放列表统一合并管理,减少多个客户端重复配置的麻烦。
- 播放稳定性优化:支持多源故障切换和流健康监控,遇到频道离线或播放异常时,会自动检测并尝试恢复。
- Web 管理面板:内置 Dashboard、Channels、Guide、Sports、Settings 等页面,可以查看频道状态、节目单、赛事信息和服务设置。
- 内置预览播放器:可在项目页面中直接预览频道和节目信息,调试时不用频繁切换到 Jellyfin、Plex 或 Emby。
- 适配主流影音客户端:生成的 M3U 和 EPG 地址可以接入 Jellyfin、Plex、Emby、Kodi 以及其他支持 IPTV 的客户端。
- API Key 保护:播放列表和 EPG 端点可以开启 API Key,避免局域网内被随意访问。
部署流程
以威联通NAS为例,通过Docker Compose的方式进行部署。
部署代码如下:
services:
iptv:
image: rebeliptv/iptv:latest
container_name: iptv
hostname: iptv
ports:
- "8008:8080" # 左侧端口自行更改
environment:
TZ: "Asia/Shanghai"
volumes:
- /share/Container/iptv/data:/app/data # 左侧目录自行更改
restart: always
打开威联通的Container Station,创建新的应用程序。

使用及效果
部署完毕后,浏览器输入NAS_IP:8008,即可访问服务界面,首页就是 Dashboard。页面比较直观,会显示当前频道数量、体育赛事、服务状态和运行时间。比如我这里可以看到服务状态是 Healthy,说明容器已经正常运行。
当前有 223 个可用频道,总频道数为 387 个,其中有一部分处于离线状态。这个很正常,源本身就会有波动。但如果你不可用的过多,那就要考虑是否是你本地的网络问题所导致~

还能看到频道分类统计,比如 Local、Sports、News、Movies、Kids、Documentary 等分类;右侧则会显示即将开始的赛事信息,包括 MLB、NBA、NHL、WNBA 等。
点击底部「Quick Links」,便能够快速复制订阅地址。
接着点击顶部栏的「Channels」,频道被整理成卡片式列表,每个频道都有对应 Logo、频道名称和分类信息。页面顶部还提供搜索框,以及分类、地区、状态筛选,频道多的时候查找会方便很多。

随便找一个在线的,点击进去就可以网页观看。

再后面,就是节目排布,以及赛事信息。


「Settings」页面可以查看服务状态、刷新数据、生成 API Key、导入自定义 M3U,并快速复制 Playlist 与 EPG 地址。

将链接复制到各个服务中,便能正常观看了~

平时通过 Web 面板查看频道状态、刷新节目单、导入自己的 M3U 列表;需要播放时,再把生成的 Playlist 和 EPG 地址丢给 Jellyfin、Plex、Emby 或各类客户端即可。
最后
感谢观看,本文完。
评论区