本文能做到什么
你的OpenWrt路由器只需要单一wan上游,即可实现不影响局域网内所有设备上网的同时,所有设备能观看iptv直播源(顺便扔掉运营商的IPTV盒子)
光猫配置
我的光猫原生有4个口,千兆口1、itv端口、千兆口2、千兆口3
由于我后面会接路由器和交换机,所以实质上我只需要用到一个口作为OpenWrt的wan上行,这里选择千兆口1
用超密进入光猫后台(怎么获得超密有3种途径:1. 找上门师傅要;2. 上网搜光猫型号有无破解教程 3. 花点钱找人帮你查)
光猫的网络管理,找到INTERNET和Other(有的地区有单独的iptv wan连接,总之需要找到原先IPTV盒子能用的那个口绑定的wan连接)
记住这个other或iptv连接的vlanid号,以及连接方式(一般是桥接或PPPoE拨号)
再记录下INTERNET这个wan连接的vlanid,并且将这两个wan连接都解绑需要用的千兆口1
找到光猫后台的vlan绑定,对千兆口1添加两个vlan绑定,分别填入INTERNET和IPTV连接对应的vlanid

注意:如果你的光猫vlan绑定功能是每行填一组数字,意味着映射前后,格式应如:
- 11/11
- 43/43
OpenWrt配置
确定和光猫千兆口1连接的端口是哪个,我这里是eth1
网络 -> 接口 ->设备,添加一个设备配置,类型为VLAN(802.1q)、基础设备为eth1、VLANID同光猫里原先的iptv连接vlanid,获得一个形如eht1.43的虚拟设备
如果原本光猫的iptv连接方式就是桥接,此时可以直接去测试rtp直播流能否正常使用了~
如果原本是连接方式是PPPoE拨号,那么还需要一步:
网络 -> 接口 -> 接口,新建接口,名称iptv,设备为br-lan,填入IPTV的拨号账号密码(比如原本拨号账户名+@iptv)
找到你所在地区,如【江苏电信iptv组播地址】,随便找一个测试地址,应该是rtp://或udp://开头,比如rtp://239.49.8.53:9814
用内网里的windows,用PotPlayer打开这个地址,看看是否可以正常播放,如果成功,那么现在你内网的所有设备都可以作为iptv客户端使用了
iptv组播转单播
并非所有播放器都能直接打开rtp://这种形式的直播源
因此需要用到OpenWrt上的【rtp2httpd】这个插件
一键安装:
opkg update
opkg install curl
curl -fsSL https://raw.githubusercontent.com/stackia/rtp2httpd/main/scripts/install-openwrt.sh | sh
这个插件只需要配置1个地方:网络与性能 -> 上游接口,选成br-lan即可
现在将上一步的测试地址如:rtp://239.49.8.53:9814
重写成【http://<路由器ip地址>:5140/rtp/239.49.8.53:9814】,同样用PotPlayer打开,看看能否正常播放
播放列表格式化+规整
我们从网上搜到或自己抓的节目源,往往很乱且缺少节目单列表等。可以做以下优化操作:
-
用【肥羊直播工具】里的【直播源格式转换】一次性把所有台添加上节目单、logo等,使用它的txt转m3u功能即可,如果你原本获得的是m3u,就先m3u转txt,再txt转m3u
-
利用ChatGPT这类ai工具,提供原始台名数据(就是你最早网上获得或自己抓到的只有台名和地址的那个节目源)和上一步获得的附加了epg和logo的m3u文件。前者是因为这里面台名很可能保留了HD、HDR这类有用的标签,而后者并不会。或者则是已经附加了完整可用的tvg标签和logo等。我们可以要求ai根据央视、卫视、其他这种分类并按照首字母排序,确保使用原始台名、并且每个台正确添加tvg标签的操作


