Openwrt与IPTV之一----igmpproxy
装了IPTV,设备是一个cable modem和一个IPTV STB. 前者把HFC变成普通的以太网,后者负责解码和播放。
本着有RJ45的设备,都插电脑抓抓包的习惯,发现直播是基于组播的,协议用的是RTP。
全能播放器VLC出马,输入对应地址,果然在电脑可以播放。
更有趣的是,收费台的鉴权是在机顶盒完成的,用电脑直接访问地址的话,播放毫无压力。
于是,一个通过openwrt+igmpproxy+udpxy+xupnpd+dlna的方案被研究出来,实现了原机顶盒不受影响,电视通过DLNA功能也能看包括收费台的全部节目,电脑通过内网,还能看运营商提供的网络直播和回看,基本实现了电视剧和球赛兼得。
先说说igmpproxy,顾名思义实现igmpproxy协议的代理~
这个软件在openwrt官方源是有的,直接安装即可,但配置上比较讲究。
配置文件在/etc/config/igmpproxy
config igmpproxy option quickleave 1//使能quickleave config phyint option network eth0.1//上行端口,也就是路由要连接modem,具体数字因人而异 option direction upstream//配置为上行端口 list altnet 192.168.56.0/24//允许的地址。这个地址要通过wireshark抓包查看。这个地方不是写组播地址,而是组播服务器的地址。 config phyint option network br-lan//下行端口的名称,这里我在vlan分配了两个物理端口,并配成桥连。 option direction downstream//配置为下行端口
自此igmpproxy就配完了,条目不多,但每个都要搞清楚。
下面是对应的防火墙配置
//允许IGMP数据包入站 config rule option target 'ACCEPT' option src 'wan' option name 'Allow-IGMP' option proto 'IGMP'
//允许udp数据入站 config rule option target 'ACCEPT' option src 'wan' option proto 'udp' option name 'Allow-UDP-igmpproxy' option family 'ipv4' option dest 'lan' option dest_ip '224.0.0.0/4'
防火墙除了目标区域和组播地址,不清楚功能的情况下,尽量不要改动别的参数,这里的目标地址以及包括了全部组播地址。
完成配置后,路由器应该能串联在modem和机顶盒之间,机顶盒的功能不受任何影响。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了