恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 79233|回复: 233

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

    [复制链接]
发表于 2018-3-3 01:34 | 显示全部楼层 |阅读模式
本帖最后由 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

1.JPG
新建一个vlan,ID随意,哪个端口随意,根据自己需要,只要独立一个vlan用来插IPTV就行了。
2.JPG
新建接口,一般vlanid是多少就是eth0.多少。具体认证是DHCP还是PPPOE根据实际设置。 3.JPG
区域一定要新建一个!!别绑入现成的WAN,这可以避免很多问题!!
4.JPG
反正弄成三种颜色就没错了

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

5.JPG
防火墙里照着这个效果来设置就行了
25.JPG
mwan3新建两个接口,名字是两个区域
7.JPG
8.JPG
9.JPG
不要多余的设置,因为不是要达到负载均衡。iptv的规则源地址选机顶盒的IP,并且要在第一位。
11.JPG
给机顶盒配置静态DHCP地址。







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

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


配置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的配置,注意接口根据实际配置:
15.JPG
如果没有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,全部完成!
13.JPG
高清无压力
14.JPG
4k也可以,但感觉还是油管的流畅,应该是帧率问题
12.jpg

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

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

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


关于系统日志出现大量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

评分

参与人数 15恩山币 +19 收起 理由
xfgsj + 2 强大的恩山!(以下重复1万次)
skyrock + 1 面对这种帖子,我内心复杂,为什么不早点看到
guozhen1224 + 1 强大的恩山!(以下重复1万次)
chengdx + 1 强大的恩山!(以下重复1万次)
503143713 + 1 给力
papagogo + 1 一看就是觉得高端、大气、上档次!
ihuatin + 1 我对你的敬仰犹如江水滔滔,我上朝鲜战场后一定写信给你!!!
abox123 + 1 一看就是觉得高端、大气、上档次!
game8 + 2 亲,你这么厉害,我想做你的经纪人!
huangchao222 + 3 虽然没有IPTV,但是还是要赞你个
chuiyg + 1 我对你的敬仰犹如江水滔滔,我上朝鲜战场后一定写信给你!!!
tsqwhb + 1 强大的恩山!(以下重复1万次)
a2005chen1 + 1 我来恩山就是为了撩你!
AN_drew + 1 赞一个
zhangcaichang + 1 支付宝已转5毛给你!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 02:13 | 显示全部楼层
收藏了。辛苦了楼主!
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 07:07 来自手机 | 显示全部楼层
支持,挺好的
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 07:14 | 显示全部楼层
阔以的,马克了马克了
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 07:14 | 显示全部楼层
介绍很详细,先收藏备用。
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 07:47 | 显示全部楼层
谢谢分享
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 08:27 | 显示全部楼层
谢谢楼主分享,收藏了!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 08:50 | 显示全部楼层
这样光猫和路由器怎么接线?盒子可以无线连接看IPTV吗?山东联通IPTV是走LAN2,上网走LAN1。我用潘多拉设置的,切换WiFi太麻烦,现在看直播偶尔会卡死,不知道哪里设置的不对。https://www.right.com.cn/forum/thread-303989-1-1.html
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-3-3 09:12 | 显示全部楼层
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.
发表于 2018-3-3 10:44 | 显示全部楼层
虽然看不懂,但还是感觉很厉害。顶楼主
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 11:31 | 显示全部楼层
可不可以赚钱啊?

点评

听说有人曾把IPTV转播给宾馆用  详情 回复 发表于 2018-3-3 12:21
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 11:41 来自手机 | 显示全部楼层
我的同一时间只能看一个台,楼主的可以看五个台?

点评

一般都不会限制的。 检查一下igmp snooping有没有开启 cat /sys/devices/virtual/net/br-lan/bridge/multicast_snooping  详情 回复 发表于 2018-3-3 12:20
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-3-3 12:20 | 显示全部楼层
本帖最后由 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.
 楼主| 发表于 2018-3-3 12:21 | 显示全部楼层
ucsoom 发表于 2018-3-3 11:31
可不可以赚钱啊?

听说曾经有人把IPTV转播给宾馆用
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-3-3 12:44 | 显示全部楼层
可以多接几个机顶盒吗?
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2019-8-22 14:56

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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