杭州电信 OpenWrt 实现任意设备 IPTV 播放
前段时间由于常用的两个直播 APP 被禁,想看春晚的话就不太容易了,找了其他 APP,清晰度也不是很满意,而且可能也存在被封禁的风险,所以就想到了电信 IPTV。因为之前在 Padavan 搞过单线复用,这次还是挺熟练的。
运营商:中国电信
城市:浙江杭州
光猫型号:中兴 ZXHN F610GV9(GPON)
路由器系统:OpenWrt(iStoreOS / LEDE)
2024 年 3 月 6 日更新
一开始 PVE 中只有 iStoreOS,因为安装的程序过多,内存占用大,偶尔会断网。所以就自己编译了 LEDE 作为主路由,尽量不安装插件,保持网络的稳定。iStoreOS 作为旁路由,不设置为网关,这样即使奔溃了也不会影响家里的网络。
但是,在 LEDE 上一直没法实现 IPTV 播放。一开始是以为没有安装 igmpproxy 的原因,但是安装之后,不管怎么设置,都没法观看。后面又想到是不是电信突然封禁了,但是这么两个月时间,可能性也不大。最后发现还是自己防火墙设置的问题。
同时也发现了,当时 iStoreOS 安装了访问AP/光猫
这个插件也有关系,在 LEDE 上可以手动添加一个接口来实现。
另外,很多教程都提到了 igmpproxy,不过我这边测试后发现完全不需要。不知道是否适用其他地区的。
也不需要添加静态路由。
光猫设置
修改光猫为桥接模式
这一步需要获取光猫超级管理员密码,有相同型号的同学可以翻翻站内的文章。这次发现超级密码被重置了,幸好之前打开过永久 Telnet 端口,重新获取一次就行。密码成了随机字符,不再是 telecomadmin 加几个数字了。
用超级密码登陆进去后,依次点击网络
-网络设置
-网络链接
,按照下图修改保存。
修改 IPTV 绑定的网口
我家的路由器连接的是光猫的网口1
,按照下图勾选。
光猫 IGMP 设置
在应用
-IGMP 设置
-组播设置
中勾选IGMPSnooping
和IGMPProxy
测试组播地址能否播放
家里任何一个设备,使用 PotPlayer 或 VLC 等播放器,看看能否播放rtp://233.50.201.118:5140
这个地址。如果可以的话就看下一步。不能看的也可以继续尝试,有可能组播不能播放,但是通过 udpxy 转发后的可以。
路由器设置
设置访问光猫
如果是 iStoreOS,安装访问AP/光猫
插件,在WAN
页面的虚拟IP地址
中添加一个同光猫分配的 IP 同一个网段的地址,我设置的是 192.168.1.254(下面图片是网上找的)。
使用其他 OpenWrt 版本的话,需要新建一个接口:名称随意,协议选择静态地址
,适配器选择 wan 口对应的,比如我的是 eth1。然后填入自定义的 IP 地址、子网掩码和网关,规则同上。需要注意的是,高级设置
中的网关跃点
需要填写一个大于 0 的数字,比如 10(wan 口的网关跃点默认是 0),不然可能就没法上网了。
设置 udpxy
这里很简单,端口自己可以随意设置,不要占用其他应用的端口就行,这里以 9999 为例。我的 wan 口是 eth1,可安装实际使用的修改。
假设路由器的 IP 地址是 192.168.100.1,保存设置后打开 http://192.168.100.1:9999/status,查看 udpxy 是否成功开启。
同时确认Multicast address
是否上面手动设置的光猫同网段地址。
防火墙设置
在防火墙
-通信规则
中添加如下规则,如果目标地址
不知道如何设置的话,使用默认的所有
即可。
添加 M3U 播放源
播放源可以使用 https://github.com/c1pher-cn/iptv-hangzhou-dianxin 这里的,需要根据自己路由器的 IP 地址进行修改。
播放器的话,安卓电视可以使用 Tivimate、Televizo 等,iOS 推荐使用 APTV。
其他提示
如果只是在电脑上进行播放,或者使用支持播放 RTP 链接的播放器,其实就不需要路由器上面的设置了,直接把 m3u 播放列表中的链接修改成 rtp:// 格式,使用相应的播放器即可。
上面的设置均在主路由中实现,本人小白一枚,旁路由中不知道如何设置。希望有大佬能指点一二。