建议在rtp2httpd里增加igmpporxy的组播代理功能。广东移动抓包发现并没有单播地址,使用rtp2httpd后能正确把组播转换成单播并在局域网内播放了,但是原配机顶盒播放时候也是直接使用组播地址的,这就导致原配机顶盒要播放,就必须依靠igmpporxy的组播代理功能,把UDP组播数据直接代理到局域网内(当然我的交换机支持IGMPSnooping功能),然后就发现igmpporxy跟rtp2httpd会产生冲突,具体表现就是只播放rtp2httpd转换后的单播没问题,只用原配机顶盒播放也没问题,但如果一起播放的话,就会随机断流卡死。。问了AI,Ai说的说法是“这个问题归根结底是 Linux 内核的硬限制——mc_forwarding=1 下本地 socket 的 IGMP 自动回复会被关掉,这是内核写死的,OpenWrt 层面任何手段都绕不过去”。。。。。AI也表示无解。。。
建议在rtp2httpd里增加igmpporxy的组播代理功能。广东移动抓包发现并没有单播地址,使用rtp2httpd后能正确把组播转换成单播并在局域网内播放了,但是原配机顶盒播放时候也是直接使用组播地址的,这就导致原配机顶盒要播放,就必须依靠igmpporxy的组播代理功能,把UDP组播数据直接代理到局域网内(当然我的交换机支持IGMPSnooping功能),然后就发现igmpporxy跟rtp2httpd会产生冲突,具体表现就是只播放rtp2httpd转换后的单播没问题,只用原配机顶盒播放也没问题,但如果一起播放的话,就会随机断流卡死。。问了AI,Ai说的说法是“这个问题归根结底是 Linux 内核的硬限制——mc_forwarding=1 下本地 socket 的 IGMP 自动回复会被关掉,这是内核写死的,OpenWrt 层面任何手段都绕不过去”。。。。。AI也表示无解。。。