wuwentao / bj-unicom-iptv

北京联通IPTV播放列表 Beijing Unicom IPTV playlist bj-unicom-iptv.m3u
https://github.com/wuwentao/bj-unicom-iptv
587 stars 114 forks source link

关于 IGMP Snooping/Proxy 不需要机顶盒的连接方法 #1

Closed huxuan closed 4 years ago

huxuan commented 4 years ago

我不是很懂 IPTV 的原理啊,只是折腾的时候试出来的

在路由器里设置路由表如下,然后就可以直接用 rtp://开头的地址看了,不需要 udpxy

ip route replace 239.0.0.0/8 dev eth0

当然地址段其实也可以直接写 224.0.0.0/4.

貌似是因为桥接拨号之后默认走的是 ppp0,强行走光猫就可以(假装是机顶盒)了,这样直接一个光猫拉一条网线出来到路由器就行了。

wuwentao commented 4 years ago

对的,这样可以走IGMP,我的树莓派就是这么手工设的这条路由来扫描节目单……

原因是:你这么配路由是因为你的eth0实际就是wan口的IPTV多播源接口,默认路由原本应该是ppp0接口,所以之前是不能用的。

当你手工配置这条路由以后,PC访问这个IP地址,默认路由到路由器以后,通过这条手工指定的路由转发UDP多播给eth0的IPTV接口去了,所以就ok了,而不是像之前走默认的ppp0接口封装到Internet,就不通了

huxuan commented 4 years ago

嗯,这样的好处是随便一台电脑或者手机装个 vlc 啥的就能直接用 rtp 的地址看 iptv 了,少了一个 udpxy 的转换过程。当然这个也有一个缺陷,就是因为是直接 udp 连接,所以需要本地开一个相同端口用来接收,然后我的 sony tv 装的酷喵竟然莫名其妙的占用了 8000 端口,然后导致 8000 端口的直接用 rtp 地址无法观看,后来解决方案是把酷喵删了……

给 repo 主的整理行为点赞,虽然不懂原理,还是有一些试错的经历可以分享一下的,希望能有所帮助。感觉 bj unicom iptv 需要一个圈子方便大家交流,毕竟大家都差不多是 Android TV + Merilin 之类的配置,我一直想折腾树莓派但是因为梅林用来挂 PT 也足够了就没懒得折腾了 - -

wuwentao commented 4 years ago

不过还得感谢分析这个办法! 晚些我抓包看看修改改路由的流量,验证一下这个方法的具体流程,随后整理一下,更新到文档中!

wuwentao commented 4 years ago

今天试了一下这个手工加239的路由播放rtp://239.3.x.x视频的办法,发现Mac上不行,试了VLC和IINA,都不能播放这个,wireshark都抓不到任何239开头的数据包,MacOS压根没发出来报文…… 在路由器或者树莓派上是可以的,原因是他们都有直连光猫的接口。 请问一下,你是什么OS?播放软件?wireshark能在os里抓包到这种rtp和239.3.x.x的报文? 如果OS能抓到包,那才能去路由器上看如何处理,我现在是压根发不出来……

huxuan commented 4 years ago

可能我之前没表达清楚,我说的路由表就是加到路由器里面的。 路由器里面设置了之后,所有路由器的设备。 我没有树莓派,所以也只是用路由器当网关的。

wuwentao commented 4 years ago

哈哈,我也没表达清楚,我确实是手工加在路由器里面的路由表,因为Mac不需要加,默认路由永远是转发到路由器网关上去!

我的树莓派是和路由器一样的网络角色,一边连LAN,一边连光猫。

所以应该还是有其他方面的设置,需要进一步确认:

  1. 看看是否操作系统不一样,以及本地网卡是否能发出239.3.x.x的流量
  2. 剩下的就是转发到路由器以后,看路由器的设置了。
huxuan commented 4 years ago

哈哈,多沟通才有成果嘛,讲真我这方面的知识很不足,还期待 repo 主的总结呢

  1. 看看是否操作系统不一样,以及本地网卡是否能发出239.3.x.x的流量

我没有用抓包,不过在 Windows/Mac(笔记本) 和 Android (电视) 上都尝试过是没有问题的

  1. 剩下的就是转发到路由器以后,看路由器的设置了。

路由器里面的配置就是我前面提到了,加了一条规则

ip route replace 239.0.0.0/8 dev eth0

如果还需要别的信息可以尽管说,我也是不知道从何说起

wuwentao commented 4 years ago

我是最新的MacOS Catalina 10.15.3,就像FFMPEG在这个版本上都出新bug了,可能是Mac的问题…… 我用windows试了一下,好像是可以,但是视频质量停卡顿,不如udpxy流畅,随后抽空继续看看原因和区别

wuwentao commented 4 years ago

先添加一部分说明到IPTV中继原理 随后有空时再继续补充和验证存在的问题

huxuan commented 4 years ago

666666, 这个 issue 可以 close 了~