找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 175712|回复: 273

【分享】上网+IPTV直播点播+任意设备看直播+IPTV抓包地址心得

 火... [复制链接]
本帖最后由 cayxxx 于 2018-3-16 12:10 编辑

比较懒,不废话。
坐标广东,ISP移动。
参考了官方文档:
https://openwrt.org/docs/user-guide/services/udpxy
https://openwrt.org/docs/guide-user/network/wan/udp_multicast


效果:机顶盒可照常看直播和点播,无须知道它要连什么服务器,其它终端可以看UDP/HTTP直播+正常上网,端口不限,只要是LAN口随便插,再接个交换机多连几个也行(接交换机一定要带igmp snooping支持的,不然会导致udp组播阻塞网络,出现卡顿或花屏。)

安装igmpproxy,udpxy(如需要udp转http供无线设备观看则安装),mwan3,luci-app-mwan3


重要:关于端口因为openwrt的缺陷需要额外设置,详见https://www.right.com.cn/forum/thread-308743-1-1.html


新建一个vlan,ID随意,哪个端口随意,根据自己需要,只要独立一个vlan用来插IPTV就行了。

新建接口,一般vlanid是多少就是eth0.多少。具体认证是DHCP还是PPPOE根据实际设置。
区域一定要新建一个!!别绑入现成的WAN,这可以避免很多问题!!

反正弄成三种颜色就没错了



把WAN口的网关跃点数设置为10,IPTV的设置为20,可以解决默认路由问题(方法来自@guangzi   ,特别感谢!)


防火墙里照着这个效果来设置就行了

mwan3新建两个接口,名字是两个区域



不要多余的设置,因为不是要达到负载均衡。iptv的规则源地址选机顶盒的IP,并且要在第一位。

给机顶盒配置静态DHCP地址。







  1. cat /sys/devices/virtual/net/br-lan/bridge/multicast_snooping
复制代码

结果:找不到文件代表不支持igmp snooping,直接gg,为1代表已开启,为0代表未开启,需要在/etc/config/network里的lan接口添加一行命令:



配置igmpproxy,修改/etc/config/igmpproxy:
  1. config igmpproxy
  2.         option quickleave 1

  3. config phyint iptv
  4.         option network iptv
  5.         option direction upstream
  6.         list altnet 183.235.0.0/16        #组播源地址,不知道的可以用0.0.0.0/0替换

  7. config phyint lan
  8.         option network lan
  9.         option direction downstream
复制代码



配置防火墙/etc/config/firewall:
  1. config rule                                 #这条规则的目的是接收DHCP报文,如果IPTV是通过其它方式认证的可以不加
  2.         option target 'ACCEPT'         
  3.         option proto 'udp'              
  4.         option name 'IPTV-DHCP'    #名字随意,没有这行也没关系,下同
  5.         option family 'ipv4'            
  6.         option src 'iptv'               
  7.         option dest_port '68'           
  8.                                                 
  9. config rule                                    
  10.         option target 'ACCEPT'                  
  11.         option name 'IPTV-IGMP'                 
  12.         option family 'ipv4'                    
  13.         option proto 'igmp'                     
  14.         option src 'iptv'                       
  15.                                                 
  16. config rule                                    
  17.         option target 'ACCEPT'                  
  18.         option dest 'lan'                       
  19.         option name 'ALLOW-MULTICAST'           
  20.         option proto 'udp'                     
  21.         option dest_ip '224.0.0.0/4'            
  22.         option family 'ipv4'                    
  23.         option src 'iptv'            

  24. config rule        #这条是udpxy需要的,不用可不加
  25.         option name 'udpxy'
  26.         option src      'iptv'
  27.         option proto    'udp'
  28.         option dest_ip  '224.0.0.0/4'
  29.         option target   'ACCEPT'
  30.         option family   'ipv4'
复制代码



重启,现在已经可以随便插机顶盒都能正常工作了。

如要转成http流,下面是udpxy的配置,注意接口根据实际配置:
如果没有luci界面也可以通过修改/etc/config/udpxy来配置:
  1. config udpxy
  2.         option respawn '1'
  3.         option verbose '0'
  4.         option status '1'
  5.         option port '4022'
  6.         option disabled '0'
  7.         option bind 'br-lan'
  8.         option source 'eth0.3'
复制代码

ok,全部完成!
高清无压力
4k也可以,但感觉还是油管的流畅,应该是帧率问题

最多开5个高清,再多就开始花了。可能是接了个百兆交换机的锅,也可能到IPTV端口上限了。
频道列表来自于@ligo_ 的整理,非常感谢!

今天把K2P刷了lean大的PandoraBox,代替原来的百兆941当交换机,果然能看多两个频道了,但是第8个打不开,应该是限制了最多同时看7个频道。

想到啥说点啥:
关于播放器:用potplayer播放,硬解不流畅,软解就很顺可能是我的显卡不行,VLC不用设置也很流畅,并且缓冲也比较快,看来VLC对流媒体比较擅长,不过视频效果感觉potplayer更胜一筹。
关于抓IPTV地址:一个个频道换台那是最没效率的办法,几百个频道少说也要半小时吧,而且还要查找过滤。那机顶盒自己是怎么知道直播地址的呢?总不会它也一个个频道轮个遍吧。
一般来说,它也是从服务器下载的,既然是下载的那就好办了。机顶盒从开机到能看直播中间肯定已经下载了直播地址,于是我们就可以只抓这期间的包。
直播地址一般都以udp://或rtp://开头,那么我们就可以直接搜索。在第一个结果上选择追踪http流
编码改成utf-8,查找一下udp://看看是不是我们需要的列表。果然如此,保存之后用notepad++等工具编译好就ok了。
那么万一运营商心血来潮,把直播地址改了呢,那我们岂不是又要抓一次?那得多麻烦。所以我们要一劳永逸解决它,把它的获取方法找出来。
再看回刚才那个包的,记一下它的顺序号,在过滤器里输入http过滤。
直播频道列表是返回结果,那么它前面肯定还有个请求的动作,果不其然,看最左边的小箭头所指,上面的getAllChannel就是了
以后就可以直接访问这个地址获取最新的频道列表了。



关于系统日志出现大量Entry not found错误,如

  1. Tue Mar  6 19:49:41 2018 daemon.err uhttpd[1166]: uci: Entry not found
  2. Tue Mar  6 19:49:46 2018 daemon.err uhttpd[1166]: uci: Entry not found
  3. Tue Mar  6 19:49:46 2018 daemon.err uhttpd[1166]: uci: Entry not found
  4. Tue Mar  6 19:49:51 2018 daemon.err uhttpd[1166]: uci: Entry not found
复制代码
原因是luci-app-mwan3,只需把/usr/lib/lua/luci/view/admin_status/index/mwan.htm的内容注释掉就可以解决

  1. <!--%+mwan/openwrt_overview_status%-->
复制代码



关于多个设备同时看一个台时,其中一个换台,其它设备播放卡顿的问题:
igmpproxy默认开启了igmpv2中的快速离开(quickleave)功能,收到离开报文后,立刻删除成员端口,并向上行方向发送离开报文,所以其中一个设备请求离开后, 组播会出现断流,直到其它设备重新发起加入请求或者igmpproxy发起轮询收到回应的时候才会恢复。解决办法就是把/etc/config/igmpproxy中的option quickleave数值改为0,关闭该功能,igmpproxy收到离开报文后,会发起轮询并等待响应,大约10秒,在此等待期间保留组播状态,不会断流,超时后没有发现特定组成员才会向上行方向发送离开报文,所以如果ISP把同时观看频道数限制在一个比较低的数值时,关闭快速离开可能会引起换台延迟卡顿。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

光猫再设置一下单线服用就更好了  发表于 2018-5-19 08:45

评分

参与人数 17恩山币 +21 收起 理由
忒*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
s374*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
xf*** + 2 强大的恩山!(以下重复1万次)
sky*** + 1 面对这种帖子,我内心复杂,为什么不早点看到
guozh*** + 1 强大的恩山!(以下重复1万次)
che*** + 1 强大的恩山!(以下重复1万次)
5031*** + 1 给力
papa*** + 1 一看就是觉得高端、大气、上档次!
ihu*** + 1 我对你的敬仰犹如江水滔滔,我上朝鲜战场后一定写信给你!!!
abo*** + 1 一看就是觉得高端、大气、上档次!
ga*** + 2 亲,你这么厉害,我想做你的经纪人!
huangc*** + 3 虽然没有IPTV,但是还是要赞你个
chu*** + 1 我对你的敬仰犹如江水滔滔,我上朝鲜战场后一定写信给你!!!
tsq*** + 1 强大的恩山!(以下重复1万次)
a2005*** + 1 我来恩山就是为了撩你!
AN_*** + 1 赞一个
zhangc*** + 1 支付宝已转5毛给你!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
收藏了。辛苦了楼主!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
支持,挺好的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

阔以的,马克了马克了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

介绍很详细,先收藏备用。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

谢谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

谢谢楼主分享,收藏了!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

这样光猫和路由器怎么接线?盒子可以无线连接看IPTV吗?山东联通IPTV是走LAN2,上网走LAN1。我用潘多拉设置的,切换WiFi太麻烦,现在看直播偶尔会卡死,不知道哪里设置的不对。https://www.right.com.cn/forum/thread-303989-1-1.html
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
zhangcaichang 发表于 2018-3-3 08:50
这样光猫和路由器怎么接线?盒子可以无线连接看IPTV吗?山东联通IPTV是走LAN2,上网走LAN1。我用潘多拉设置 ...

IPTV走无线不实际,除非是单播,否则以无线组播的丢包率,肯定没法看

点评

老哥有QQ吗? 我现在环境是光猫路由模式 电脑不在IPTV口上随意看节目源 如果用路由器拨号 光猫改成桥接IPTV无法播放 这个是什么原因造成的?跪求教~  详情 回复 发表于 2018-12-7 23:14
IPTV走无线是可以看的而且不丢包也不卡也不花屏还是秒换台。,只是现在的固件不稳定。支持IPTV无线的固件无线都有问题。  详情 回复 发表于 2018-7-29 22:04
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

虽然看不懂,但还是感觉很厉害。顶楼主
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

可不可以赚钱啊?

点评

听说有人曾把IPTV转播给宾馆用  详情 回复 发表于 2018-3-3 12:21
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
我的同一时间只能看一个台,楼主的可以看五个台?

点评

一般都不会限制的。 检查一下igmp snooping有没有开启 cat /sys/devices/virtual/net/br-lan/bridge/multicast_snooping  详情 回复 发表于 2018-3-3 12:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 cayxxx 于 2018-3-3 14:45 编辑
liulzqlzq 发表于 2018-3-3 11:41
我的同一时间只能看一个台,楼主的可以看五个台?

一般都不会限制的。
检查一下路由器和交换机igmp snooping有没有开启,没开启的话会让udp组播挤爆局域网,导致卡顿或花屏
cat /sys/devices/virtual/net/br-lan/bridge/multicast_snooping
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
ucsoom 发表于 2018-3-3 11:31
可不可以赚钱啊?

听说曾经有人把IPTV转播给宾馆用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

可以多接几个机顶盒吗?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-26 23:56

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表