效果展示

获取本地 / 网络 IPTV 源
首先,你需要一个长期且稳定的 IPTV 源,才能开始下面的折腾。Plex 所支持的 m3u8 格式示例如下:
#EXTM3U
#EXTINF:-1, CCTV-1高清
http://192.168.199.100:4022/udp/239.93.0.184:5140
#EXTINF:-1, CCTV-2高清
http://192.168.199.100:4022/udp/239.93.1.23:6000
#EXTINF:-1, CCTV-3高清
http://192.168.199.100:4022/udp/239.93.1.11:2223
其中 192.168.199.100:4022 需替换成你本地的 UDPXY 服务地址和端口号
UDPXY 是什么,后面会有详细说明
获取 IPTV 源的几种方式
- 在网络上找到免费公开的 IPTV 源,稳定性尚可, IPv6 的会稳定一些
- 如果已向运营商付费 IPTV,可以直接抓取,各大平台都有相关教程【✔推荐】
使用 iKuai 路由器搭建 UDPXY 服务 [1]
获取机顶盒的 IPTV 信息
- 打开 iptv 机顶盒,在遥控器上找到 设置 按钮,并输入超级密码
6321 - 找到机顶盒的 网络 信息页,记录以下内容:
- IP
- 子网掩码
- 网关
- DNS
Kuai 路由接线及 IP 设置
- 将 光猫 上负责 IPTV 的网口,接入 iKuai 的 WAN 口
- 依次按图点击:网络设置 → 内外网设置 → WAN1 → 接入方式 → 基于物理网卡的混合模式 → 静态 IP → 添加
- 按照在 机顶盒 中记录的数据,原封不动的填写信息在此处,特别注意 子网掩码 一般不是
255.255.255.0,务必选择正确
- 拖到最下方点击保存即可
在 iKuai 中开启 IGMP 与 UDPXY
- 依次按图点击:网络设置 → IGMP代理 → 开启 → IGMPv3 → vwan_iptv → lan1 → 保存
- 依次按图点击:高级应用 → UDPXY设置 → 服务端口 →
4022 → 订阅周期(秒) –60 → 确定
- 至此可以确定,你的 UDPXY 服务的 IP 为 ikuai IP +
4022 端口
例如,我的 ikuai IP 为 192.168.199.100
我的 UDPXY 服务就应该填 192.168.199.100:4022 ,这个地址对应第一步中 m3u8 文件里 http:// 开头的部分
使用 Docker 部署 xTeVe 服务
使用 Docker Compose 部署 xTeVe
services:
xteve:
image: alturismo/xteve:latest
container_name: xteve
restart: always
network_mode: host
volumes:
- ./xteve:/root/.xteve:rw
- ./_config:/config:rw
- ./_guide2go:/guide2go:rw
environment:
- TZ=Asia/Shanghai
访问 xTeVe 后台
比如我的群晖地址为 10.0.0.1,我应该打开 http://10.0.0.1:34400/web/
配置 Playlist 文件
我们需要将第一步中准备的 m3u8 文件放入 /docker/xteve/_config 目录下,并重命名为 iptv.m3u8
依次点击 Playlist → New → Next,然后按照下图操作:

导入节目指南(XMLTV)
依次点击 XMLTV files → New,然后按照下图进行设置:

💡 提示:XMLTV 节目单地址经常会变更,下面的地址仅作示例,如果失效请自行寻找仍在维护的节目单源。
https://epg.112114.xyz/pp.xml
http://epg.51zmt.top:8000/e.xml
频道与节目单映射(Mapping)
点击 Mapping ,然后根据是否匹配开始操作,如果没有自动匹配,需要手动去将频道与节目指南对应,按照如下操作手动匹配:

最后全部匹配完成后,点击 Save 按钮保存设置
在 Plex 中添加 xTeVe 作为 IPTV 源
-
在 Plex 中点击 设置 Plex 数字录像机


-
填写由 xTeVe 提供的 M3U 播放列表地址和 XMLTV 节目单地址

-
让 Plex 扫描并加载频道列表,确认频道和节目单显示正常后保存配置

-
完成

五、参考文献
- [1] 24K钢丝, 关于任意设备观看IPTV,iKuai增加了这个功能,这次你真的要丢掉机顶盒了吗?, bilibili (2023). https://www.bilibili.com/video/BV1Zs4y1q7s4.


