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和機頂盒之間,機頂盒的功能不受任何影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM