udpxy的作用是将组播的数据流变成TCP协议的单播流,避免了在数据链路层广播,在无线网络中尤为需要。同时电视也不支持udp格式的视频流。

udpxy在官方的软件源中,直接安装即可

udpxy没有独立的配置文件,修改参数直接在启动脚本中完成

修改/etc/init.d/udpxy

复制代码

OPTIONS="-a br-laniptv -p 8888 B 1Mb -R 3 -S 3"

start() {
        service_start /usr/bin/udpxy $OPTIONS
}

//-a 监听设备,这里是我再vlan划分的另外两个物理端口,并配成桥连
//-p 监听端口,随便选一个没用过的就好
//后三个参考官方说明,默认也可以

复制代码

防火墙

复制代码

//允许IGMP协议
config rule
        option target 'ACCEPT'
        option src 'wan'
        option name 'Allow-IGMP'
        option proto 'IGMP'

复制代码

上面的规则和上一篇配置igmpproxy时是一样的,如果两个软件都用,配置一次就可以

复制代码

//允许udp协议
config rule
        option target 'ACCEPT'
        option src 'wan'
        option proto 'udp'
        option name 'Allow-UDP-udpxy'
        option dest_ip '224.0.0.0/4'

复制代码

上面这条规则和igmpproxy的很像,但少了一些配置,不知为何,两组规则是不能融合的。不过我这里把两个端口放到不同的防火墙域,所以配两条规则也是必须的。

开启自启动

/etc/init.d/udpxy enable

启动

/etc/init.d/udpxy start

这时,访问路由ip:8888/status,能进入一个web页面

Openwrt与IPTV之二—-udpxy-风君雪科技博客

此时,假设组播地址是225.1.1.1:1111,路由的ip是192.168.136.1

那么通过udpxy转换后的新地址是http://192.168.136.1:8888/udp/225.1.1.1.1:1111

这个地址同样可以用VLC测试。