共计 1687 个字符,预计需要花费 5 分钟才能阅读完成。
介绍
该方案不需要拿到光猫管理员(虽然折腾半天拿到了发现可以不用),也不需要设置 VLAN,因为是双线接入只会多占用一个软路由端口,简单几步配置就能支持 IPTV。
限制
因为非常简单所以有一些限制:
- 需要软路由上还有空闲的网口
- 只在成都电信测试通过,不确定其它区域和运营商都可以。因为是发现本地 IPTV 是不需要拔号,也不需要特定 IP 的,和网上各种复杂教程完全不一样。
- 本文完全通过无线访问,如果要使用机顶盒,需要再多一个端口桥接,或者 omcproxy 一类的工具,不在本文范围。
拓扑情况
简单介绍一下拓扑情况,光纤入户通过光猫再到安装 OpenWrt 的软路由,光猫使用桥接通过 OpenWrt 拔号上网(光猫使用路由模式直接拔号也没有影响)。光猫的上网口接入软路由的 WAN(eth0)口,IPTV 接入软路由的 eth1,后面会进行配置,还有一个 Wifi 作为 AP 让其它设备接入。
影响本次的就是需要软件路由上有个空闲的网口,并接入光猫的 IPTV 口。否则需要单线复用的方式,获取光猫管理员创建 VLAN,共用软路由的 WAN 口,这种复杂的方式本文不会涉及。
如果不符合上述条件的,可以退出本文搜索其它更合适的方式。
操作步骤
释放网口
在 网络 -> 接口
中找到 LAN
编辑,在物理设置里面把用于 IPTV 的物理端口 eth1
取消勾选。后面括号中应该是 lan
,因为是后面补截的屏所以这里已经是 IPTV
。
新建 IPTV 接口
在 网络 -> 接口
中创建新接口,命名 IPTV
(其它名字也可以方便记忆),协议选择静态 IP
。
如图配置 IP 地址,不要和你当前路由同一网段就行,图中的 192.168.168.123
是随便设置的一个 IP。
在高级设置
里面把跃点数设置为 50
,WAN
口设置的 20
。
在物理设置
里面选择刚刚释放用于 IPTV 的 eth1
。
最后在 防火墙
里新建一个 iptv
,保存并应用
启用 udpxy
因为使用的 OpenWrt 版本中已经集成 udpxy
,所以可以直接使用,如果未集成需要到 系统 -> 软件
中进行安装。
进入 服务 -> udpxy
,启用并按图中进行配置,BindIP
为 OpenWrt 软路由 IP 或者 0.0.0.0
也可以,SourceIP
使用上面的 IPTV 的接口eth1
,保存并应用。
然后就没有然后了
验证
验证 udpxy
输入 http://<router-ip>:4022/status
如果看到如下界面,说明配置成功。router-ip
为软路由的 ip 地址,也是图中接受客户端的地址。组播地址 192.168.168.123
即为上面 IPTV 接口配置的静态 IP。
播放验证
可以从 https://github.com/imDazui/Tvlist-awesome-m3u-m3u8 找到很多直播源,根据区域下载 四川成都电信udp组播直播源.m3u8,从中找到任意一个地址,如 CCTV-1 的 http://0.0.0.0:0000/udp/239.93.0.184:5140
修改为 http://<router-ip>:4022/udp/239.93.0.184:5140
,使用播放器打开该 URL 即可正常播放。
部分 m3u
文件中的地址是 igmp://239.93.1.23:6000
,只需要把协议去掉在前面加上 http://<router-ip>:4022/udp
就可以,最终播放地址是 http://<router-ip>:4022/udp/239.93.1.23:6000
。
单个测试成功之后,就可以批量修改替换 m3u
中的地址,使用播放器加载修改后的文件。
流量查看(可选)
如果 OpenWrt 上有安装 netdata,在对应网口上也能看到在播放 IPTV 的时候,流量都是通过 eth1
挖坑
个人主要使用 Kodi 来播放 IPTV,后面补一篇教程。
~Plex 通过 xteve 应该也能支持,测试后可以再补一篇。~ 已填坑Plex + xTeVe 加载 IPTV 直播 – 自建多媒体平台