最近太忙,一直有小伙伴催更,我抓紧说说udpxy转发iptv组播信号的问题。
前面提过,我使用OpenWRT的最大原因,是冬奥会期间使用电视盒子观看IPTV太麻烦,于是开启了后面的折腾之路。
先将日常观看电视机的一些不便之处罗列如下:
1.使用传统有线电视机电视盒子。缺点:电视盒子占空间,电视盒子和电视机要占两个电源口,两个遥控器控制。其中两个遥控器的问题,如果是老一点的电视机机,使用电视盒子遥控器的学习功能,使用电视盒子遥控器控制电视机机的开断电、音量加减、信号源选择倒是没问题。
2.使用HDP软件直播软件。缺点:直播源不稳定,直播源往往不是超清信号,直播软件合法性问题。
3.使用IPTV电视盒子。缺点:电视盒子占地方,电视盒子和电视机要占两个电源口,两个遥控器。IPTV一般需要单独走一条网线。
4.多人看电视机的问题。老人想看电视机剧,小孩想看动画片,你想看影片频道。还有客厅和卧房、楼上和楼下安装有多个电视机,这又如何办?
最关键的问题的是:我本来安装的是智能电视机,自带很多视频应用程序,智能电视机本身需要链接互联网;然后为了看IPTV,还需要额外安装电视盒子,需要单独走一路网线、单独的电源和单独的遥控器,而且电视盒子还占用空间,网线、电源、HDMI信号线一团糟。还不得不使用两个遥控器分别控制智能电视机和电视盒子。
这个不能忍,我要整洁清爽,清爽,爽。
说了这么多,言归正传,按序表述如下:
一、硬件与网络
使用路由器,刷OpenWRT系统,WAN口链接光猫IPTV口,LAN口链接到主路由器的LAN口。
目前OpenWRT支持的路由器也很多,想看路由器是否支持强刷机,可以上这个网站查看:https://openwrt.org/toh/start。
有一点说在前面,udpxy插件很消耗CPU,CPU性能越好,效果也越好(观看多路IPTV时不容易死机)。
二、软件部分
(1)查看电视盒子IP地址和MAC地址。
使用电视盒子正常观看IPTV,进入电视盒子“设置”界面,查看设备信息,查看有线IP地址和MAC地址,记下IP地址、子网掩码、默认网关和MAC地址4项信息(考点1)。其他的不用记。
(2)设置OpenWRT副路由WAN口地址
登录OpenWRT副路由管理界面,假定副路由IP地址为192.168.1.11(考点2),进“网络”-“接口”菜单,设置WAN口地址,IP、掩码和网关就是考点1对应的地址,修改WAN口的MAC地址(重点内容),一定要与电视盒子的MAC地址相同,否则可能通不过认证。DNS之类的信息不用填,IPv6可以禁用或删掉。
(3)增加防火墙策略
在OpenWRT副路由管理界面,进“网络”-“防火墙”菜单,点击“Traffic Rules”选项卡,点击“新增”按钮,按照如下参数配置。
这里解释下,使用udpxy插件时,并没有使用路由器的路由转发功能,而是使用udpxy充当代理转发软件,一边从WAN口接收UDP组播数据包,处理后形成HTTP协议格式数据流,发放到指定的LAN口地址。所以需要增加防火墙策略,放行WAN口UDP协议数据包。
(4)安装udpxy插件
在OpenWRT副路由管理界面,进“系统”-“Software”菜单,没有设置更新源的,可以先进“Configure opkg”菜单设置更新源distfeeds.conf,国内的建议设置中科大的更新源,可以直接使用http协议,默认https协议。下面这个更新源不能照搬,要根据你的路由器CPU架构和你安装的OpenWRT的版本进行替换,把OpenWRT官方的更新源,更换成中科大的更新源就行了。
src/gz openwrt_core http://mirrors.ustc.edu.cn/openwrt/releases/19.07.5/targets/ramips/mt7621/packages
src/gz openwrt_base http://mirrors.ustc.edu.cn/openwrt/releases/19.07.5/packages/mipsel_24kc/base
src/gz openwrt_luci http://mirrors.ustc.edu.cn/openwrt/releases/19.07.5/packages/mipsel_24kc/luci
src/gz openwrt_packages http://mirrors.ustc.edu.cn/openwrt/releases/19.07.5/packages/mipsel_24kc/packages
src/gz openwrt_routing http://mirrors.ustc.edu.cn/openwrt/releases/19.07.5/packages/mipsel_24kc/routing
src/gz openwrt_telephony http://mirrors.ustc.edu.cn/openwrt/releases/19.07.5/packages/mipsel_24kc/telephony然后在“filter”输入“udpxy”,执行搜索,按顺序安装udpxy、luci-app-udpxy和luci-i18n-udpxy-zh-cn三个插件(考点3),
安装好之后,在Installed选项卡可以看到安装结果。
当然也可以通过ssh登录路由器,按顺序执行下面4条命令,安装上述3个插件:
opkg update
opkg install udpxy
opkg install luci-app-udpxy
opkg install luci-i18n-udpxy-zh-cn(5)配置udpxy
在OpenWRT副路由管理界面,进“服务”菜单,可在列表中看到udpxy服务。
点击进入udpxy配置界面,在绑定IP/接口中填写OpenWRT副路由器的IP地址(考点2对应的地址),在监听端口填写一台不常用的端口,比如8888、9999、10000都可以(考点4),源IP地址/接口填写IPTV组播源地址(考点1对应的IP地址,即有线电视盒子分配到的IP地址)。最大客户端数量根据需要填写,这个数值受限于路由器的CPU性能和网络带宽。把“已启用”选项勾选上,点击“保存并应用”。
(6)查看udpxy服务状态
在浏览器中输入“http://192.168.1.11:8888/status”,查看udpxy服务状态。这里的地址和端口对应设置udpxy服务时绑定的局域网IP地址和端口。如果能看到以下界面,说明udpxy服务已经跑起来了。
这时,可以在VLC media播放器中选择“打开网络串流”,按照“http://address:port/udp/mcast_addr:mport/”格式输入地址,就可以观看电视机了。
输入“http://address:port/restart/”,可以重启udpxy服务。
总结:讲到这里,OpenWRT udpxy插件的安装与调试就讲完了。后面,你就可以在智能电视机、电脑、手机上,使用Kodi 或者 VLC media player软件,观看IPTV了。
其中Kodi软件的使用方法,以及组播源地址的获取,涉及内容较多,篇幅较大,需要单独讲述了。
初步接触OpenWRT,对一些概念也是一知半解,不对的地方还请指出,欢迎交流。 |