zoukankan      html  css  js  c++  java
  • 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和机顶盒之间,机顶盒的功能不受任何影响。

  • 相关阅读:
    Codeforces 451A Game With Sticks
    POJ 3624 Charm Bracelet
    POJ 2127 Greatest Common Increasing Subsequence
    POJ 1458 Common Subsequence
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1698
    HDU 1754
    POJ 1724
    POJ 1201
    CSUOJ 1256
  • 原文地址:https://www.cnblogs.com/surplus/p/14059064.html
Copyright © 2011-2022 走看看