Chiphell - 分享与交流用户体验

标题: 广东电信 IPTV 组播转单播极限测试 [打印本页]

作者: foru17    时间: 2024-12-27 20:28
标题: 广东电信 IPTV 组播转单播极限测试
本帖最后由 foru17 于 2024-12-28 14:13 编辑

这两天给家里弄好了 IPTV 的组播转单播,心血来潮,想看看极限能跑多少路 IPTV 直播

有关这次折腾 IPTV 的记录和讨论,我也发到了推特和 V2EX 上。


这篇帖子不是教程,由于全国各地不同运营商对于 IPTV 有不同的网络策略,还是建议各位自行以「IPTV + OpenWrt + 组播」等关键字搜索符合当地运营商的教程。

由于这次测试「娱乐性质大于技术研究」,加上本人并不是网络相关专业,并且本人家庭设备诸多限制,注定有诸多不严谨的地方,这篇文章只是记录下下结果,不探讨相关运营商、网络、组网等技术细节。

简单来说,图一乐就好。

组播转单播


这种转换的主要优点是:

如果家里还有人要看电视,还是推荐可以搞个这个方案,在 AppleTV 、手机、平台上就能直接看直播了,而且没有机顶盒那么多广告。

有点可惜现在才弄这套方案,前段时间奥运会期间,和老婆在家看比赛直播还是挺多的。

参考资料

🌐 网络条件

🔧 硬件配置

所有设备在内网并没有网络瓶颈。测试用的电脑均为 2.5G 内网。除了上述设备,也使用到了 AppleTV、手机等设备进行测试。

📡 转发组播

我也是昨天看到 /t/102603 这个帖子下的留言,发现可以通过「电脑插光猫 ITV 口直接播放」来验证是否能进行组播转发。
经过测试,我家东莞电信、深圳联通两地的 IPTV ,都可以满足。

我之前被其他帖子误导了,以为要鉴权抓包太麻烦就没搞了。没想到居然这么简单(刚好我的网络条件满足)。

🎮 测试播放器
GridPlayer,基于 VLC 开发的多路播放器,支持硬解。


用 IINA 也试过,最多只能播放 15 个且很卡顿,后来搜到 GridPlayer 发现可以满足需求。
广电电信的组播除了表情,也提供 1080P 的直播源,还有少数 4K,我订阅的电视源使用的都是 HD 1080P 25帧的资源,码率 7Mbps - 10Mbps 波动,大多时候是 8Mbps。

某些 4K 直播源码率码率则在 30Mbps 左右,但是数量较少,这次我过滤留下了 145 个电视台,144 个是 1080P 25帧。

❗ 重要提醒
一开始我使用 UDPXY 作为直播流代理。由于一开始配置的时候填写了最大客户端50的限制,后面测试的时候发现最大播放数量被限制在 55 路,误导我一直以为 IPTV 的最大播放数量被限制了。

但是使用 UDPXY 这一步测试结果依旧保留,仅供参考。

📊 UDPXY 测试结果
下面以 UDPXY 转发测试过程的一些截图:
Mac 最多只能播放 25 路。

Mac 那边继续直播 25路,PC 额外播放 30 路,CPU 压力很大。

OpenWrt 监测 ITV 口带宽平均下来 500Mbps。

V 站有网友评论说 UDPXY CPU 占用率可能导致瓶颈,一开始我的确忽略了这个因素,于是重新又测试了下。

当 55 个通道同时播放时,CPU使用率在 50% 到 70% 之间波动,每个 UDPXY 进程占用 1%到2% 的CPU。但是可以推测,如果继续使用 UDPXY 进行转发,播放到 100 路的时候,CPU 占有率的确有可能达到 100%。

📺 UDPXY 占用网络带宽
总路数
PC 播放路数
Mac 播放路数
IPTV 总带宽占用
家宽测速结果
IPTV状态
30300300Mbps1300Mbps正常播放
503020450-460Mbps1300Mbps正常播放
553025490-500Mbps1300Mbps无法新增直播流,新增会导致原有直播随机断开一路


⚡ msd_lite 测试结果
27 号晚上,看到有人提到了 msd_lite,相比 UDPXY,msd_lite CPU 和内存占用更低 ,于是我又重新用 msd_lite 测试了下。

也是在这个时候,我才发现 UDPXY 配置里面有个最大客户端数 50 的限制,于是干脆重新测试,也因此得出了新的数据和结论,由于上面 UDPXY 测试时就已经达到了 1000M ,msd_lite 直接跳过,直接以 1000Mbps 向上的压力测试。

同时为了突破网口的物理限制,我将光猫上的 iTV 口绑定到了 2.5G 口上,原本的网络则改到了 1G 网口上。


这一轮测试,出动了 M2 Mac MacBook / PC / M2 Mac Mini 共三台设备测试,同时客厅的 AppleTV 也在 4 路同屏一直播放(三台电脑同时播放时,硬件性能瓶颈太大都会卡顿,AppleTV 4 路直播不会因为硬件问题瓶颈,作为一个标定组)。
M2 Max MacBook 一直播放 62 路不停止,画面都能出来,但是播放不流畅,CPU 占用率 60-80% 之间波动。

旁边的 M2 Mini 则固定播放 25 路。

📺 msd_lite 占用网络带宽

总路数
PC 播放路数
Mac 播放路数
Mini 播放路数
AppleTV 播放路数
IPTV 总带宽占用
家宽测速结果
IPTV状态
91062254900-1000Mbps1000Mbps除了电脑卡顿,其他端流畅播放,AppleTV 播放流畅
10842622541200-1300Mbps10~100Mbps除了电脑端卡顿,其余端流畅播放,开始影响网速
14756622541400~1500Mbps10~~100 Mbps播放卡顿感明显,少数源出现马赛克,ATV 正常播放但是加载偶尔出现进度条,家宽网速限速到 100M 以内
200721002541500+Mbps1000 Mbps❓极限重复 200 路测试,虽说 IPTV 达到 1.2G 之后大概率限速,但是实测依旧偶尔能够跑满 1000M 网络宽带

PC 在播放 56 路时,CPU 压力依旧很大。

在 147 路播放时,OpenWrt 监测 ITV 口带宽平均速率达到了 1.42 Gibit/s,约 1500Mbps。后续尝试再增加无法突破。

改成 msd_lite 后,CPU 使用率明显下降,147 路播放时,CPU 在 50%-80% 之间波动。

上述播放,每个设备都是播放不同的电视源,最终是145路电视台同时播放。
接下来又分别将 M2 Max MacBook 和 PC 分别增加到 100 路和 72 路,重复播放 50 路。Mac 上这 10x10 的布局画面都展示出来了,但是无法流畅播放,幻灯片一样。

在 200 路播放的时候,iTV 的网口的流量达到了 1.4-1.45Gibit/s ,对应约 1500Mbps 的带宽,与 147 路播放时一样,说明有可能是达到了 IPTV 线路的带宽上限。

🐎 IPTV 网速影响测试
在上面 UDPXY 测试的时候,由于我的 IPTV 最高带宽也才 1000Mbps,网络带宽在 2.5G 网口下均能跑到 1300M,在 1G 网口下也能跑到 1000M。因此当时我得出结论是:IPTV 带宽不会影响家宽带宽。

但是随着后面转向 msd_lite,将 IPTV 的带宽进一步提升到 1.2G,乃至最高的 1.47G 时,我发现了有趣的现象.
当播放 147 路,OpenWrt 监测 ITV 口带宽平均速率达到了 1.42 Gibit/s,约 1500Mbps。这个时候访问电信官网测速,下行下降到了两位数,在20-100Mbps 之间波动。

随后我关闭 PC 上的直播,总路数下降到91,网速恢复正常。后续我又尝试恢复 PC 上的直播,当PC的播放数量为7*6 = 42路时,iTV 带宽 1.2Gibit/s 左右,若继续增加播放数量,在上升到 1.25Gibit/s 左右,网速则受影响下载到 100 Mbps 以内。

原本我以为运营商应该是对家宽和 IPTV 的限速做了某种策略,这个 IPTV 达到 1.25Gibit/s 之后,可能会触发家宽线路的限速。但是随后又发生了一件奇怪的事情。

当我将播放数量增加到 200 路时,这时 iTV 的带宽又达到了 1.4Gibit/s-1.47Gibit/s 波动,这个时候我测速结果发现网速又回到了 1000M。这个时候我就不知道如何解释了。

📈 总结

如同我在最开头所说的这次测试「娱乐性质大于技术研究」。

这次折腾 IPTV,更多是「好玩」性质,没有哪个正常的家庭会有这种同时播放这么多路电视的需求。

最终的结论可能并不严谨,它仅代表了在我家网络和硬件条件下对东莞电信IPTV的测试结果。

(注:1.2 Gibit/s ≈ 1,229 Mbps,1.45 Gibit/s ≈ 1,500 Mbps)

作者: zqintel    时间: 2024-12-27 20:30
厉害了,有钱有闲有技术

作者: hans_marke    时间: 2024-12-27 20:53
战略关注
作者: InuYasha    时间: 2024-12-27 21:19
不知道海南能不能这么玩,能的话好多出租屋就可以这么解决看电视的问题了
作者: 路西法大大    时间: 2024-12-27 21:26
想问一下楼主,这种组播方式是怎么切换频道的?比如我在IPTV机顶盒看频道A后那我能用电脑看频道B吗?
作者: sdysj    时间: 2024-12-27 21:28
大多数都是主宽带➗2
作者: foru17    时间: 2024-12-27 21:39
路西法大大 发表于 2024-12-27 21:26
想问一下楼主,这种组播方式是怎么切换频道的?比如我在IPTV机顶盒看频道A后那我能用电脑看频道B吗? ...

能,每个频道就是一个独立的 url,你重复用不同 App 播放,切换都行
作者: Jackstraws    时间: 2024-12-27 21:56
现在酒店IPTV 为了省钱都这样搞 以前都是用广电的 现在搞个网关 装几个IPTV  你把地址设置进去 电视机上装个APP 直接就能点播了 老电视就用机顶盒
作者: zxy2001    时间: 2024-12-27 23:35
马克一下,虽然不看电视。。。
作者: dert    时间: 2024-12-28 00:20
我这里的浙江电信直接就能看iptv组播,无需转换,无论是光猫拨号还是路由拨号都能看,
频道地址是rtp://233.50.201.118:5140这种,
内网的手机,电脑等,直接用vlc打开就可以看了,多设备也能同时看不同台。

作者: 路西法大大    时间: 2024-12-28 08:55
foru17 发表于 2024-12-27 21:39
能,每个频道就是一个独立的 url,你重复用不同 App 播放,切换都行

这样的话倒是有搞头啊,谢谢楼主解答
作者: 二手烟    时间: 2024-12-28 09:12
这个要好好学习,说不定能省下有线电视的钱。
作者: wilsonkor    时间: 2024-12-28 10:36
广州电信1000m/100m,利用op的udxpy转发IPTV一年多了,非常稳定。
但我和你的情况有所不同,iptv是单独的账户pppoe拨号,而广州电信分配的iptv带宽只有100mbps,看南国4k都会卡,一般来说只能同时开3个高清直播窗口。我也试过用pc拨号iptv,然后在pc上直接看iptv效果是一样的。
所以为什么你的iptv账户为什么可以超过100m?奇怪
作者: huantty    时间: 2024-12-28 10:57
wilsonkor 发表于 2024-12-28 10:36
广州电信1000m/100m,利用op的udxpy转发IPTV一年多了,非常稳定。
但我和你的情况有所不同,iptv是单独的账 ...

我这更坑,itv账号的带宽,50下10上。。。广东汕头电信
作者: foru17    时间: 2024-12-28 11:23
wilsonkor 发表于 2024-12-28 10:36
广州电信1000m/100m,利用op的udxpy转发IPTV一年多了,非常稳定。
但我和你的情况有所不同,iptv是单独的账 ...

实测我这边 IPTV 峰值达到了 1500Mbps。。。147个台同时直播都可以,离谱了。
作者: basiak    时间: 2024-12-28 12:00
你试试打开同一频道,看可以多开几个?
我用tivimate自带分屏,貌似开4个运营商4K稳定流畅,超过能开但是卡顿明显。不同频道只开过16个,app只能开16个。
环境武汉电信1150/100
另外你可以在恩山上发帖看看。
作者: cyberms    时间: 2024-12-28 12:23
电信iptv是最规范的。

走单独vlan防止出现播出事故。
作者: Mashiro_plan_C    时间: 2024-12-28 13:16
没测深圳联通是不是因为广东联通就没组播
作者: fyc858    时间: 2024-12-28 16:17
这玩意强度没pcdn高,就是家宽没那么高上传给你测试而已
作者: lovezhiqi    时间: 2024-12-28 16:32
本帖最后由 lovezhiqi 于 2024-12-28 16:45 编辑

msd很强,楼主很有心 顶帖 给楼主做个汇总图

(, 下载次数: 54)
作者: lasx    时间: 2024-12-28 17:21
udpxy转发是怎么设置的,我是单线复用光猫给做个vlan绑定,这头op开个虚拟vlan跑的pppoe 拨号iptv。udpxy转出来有时候会影响上网
作者: pj1119    时间: 2024-12-28 18:09
厉害了,收藏先
作者: hawie    时间: 2024-12-29 07:00
广东电信各地还不一样?
深圳电信PPPoE鉴权,不鉴权自设同网段静态IP的方式网关不通。看来还得抓包再模拟机顶盒的鉴权过程,这就复杂了。
作者: iori9051    时间: 2024-12-29 08:48
我这已经限制只能同时看两路。。。。
作者: 二手烟    时间: 2024-12-30 09:12
厉害了!有空在家里也试试,我看光猫是有iptv的配置的,用的是单宽带。
作者: earth711    时间: 2024-12-30 13:50
这个需要学习一下
作者: lzbnet    时间: 2024-12-31 16:58
这个是不是还得先抓包拿到 组播源地址才行?
作者: pmax    时间: 2024-12-31 17:25
大佬牛逼。不过这里面有一句没看明白。

转发组播

我也是昨天看到 /t/102603 这个帖子下的留言,发现可以通过「电脑插光猫 ITV 口直接播放」来验证是否能进行组播转发。
经过测试,我家东莞电信、深圳联通两地的 IPTV ,都可以满足。


这个电脑差光猫itv口? 网线?
作者: 龙的天空    时间: 2025-2-9 23:10
深圳电信能搞吗
作者: 二手烟    时间: 2025-2-10 06:57
我觉得前提是你家里要有开iptv,然后把接盒子的那条网线接到电脑上。
我没开iptv,电脑连光猫的iptv 口搞了半天,没料到。
作者: danety    时间: 2025-2-10 07:25
速度变化,有可能是那个时间段软路由cpu占用率过高,导致网速变慢
作者: 一同暖    时间: 2025-3-19 10:54
大佬牛!
我也请教一下,我刚好是东莞电信iptv,有华硕路由器,有appletv,现在是用机顶盒看电视,但切换信号源太麻烦,想直接在appletv上用aptv来看电视,有啥简单的办法实现
作者: havoc123    时间: 2025-3-19 11:07
码一下
作者: a081162008    时间: 2025-3-19 12:06
现在电信ITV大多地方都是软终端装APP了,电信开通业务,光猫稍微配置下,上门电视上装个APP,然后账号密码登录就OK了,不需要专门的盒子/接口了~家里几个电视,他们按电视数量收钱~但其实你把他们app搞到手,密码搞到手,自己装就只需要一个电视做诱饵的钱~
作者: makkapakka    时间: 2025-3-20 16:10
本帖最后由 makkapakka 于 2025-3-20 16:14 编辑

同广东电信,我的网络环境是 红米 AX6 官方固件,破解了 ssh,安装配置好 udpxy

然后单独把 LAN3 口分出来给 IPTV 拨号,原来的wan口提供正常上网,并且把 wan 口跃点数设最低保证正常上网

现在 udpxy 正常配置好了,并且用 VLC 打开 http://192.168.31.1:4022/udp/xxxxx 播放的5秒内,udpxy 状态页面可以看到有连上,但是没有数据

组播地址肯定是没错,自己抓的和楼主提供的差不多

防火墙该配置的也配置了,换回机顶盒就可以正常播放,现在不知道问题出在哪里
作者: jiano    时间: 2025-3-20 17:03
中兴的路由器,上面自带一个iptv组播,之前想折腾但是没找到相关教程,不知道是不是也可以起到这种代理作用。

(, 下载次数: 15)
作者: wangqiu    时间: 2025-3-22 11:30
广州电信搞不定鉴权
作者: coolbo    时间: 2025-3-22 12:23
问一下mac下和atv下用的啥软件同时观看多路?
作者: xukai_286    时间: 2025-3-22 13:14
UDP不像TCP好做流控,更多是做Qos,但iptv很可能优先级相对其他UDP还是高的,所以UDP的iptv流会一直往你这发,所以高峰时期,很可能很多UDP都被Qos了,但不包括IPTV,所以你的iptv可以跑满物理链路带宽上限,当然,也受到源和接收端的硬件限制
作者: kokikoku    时间: 2025-4-16 16:49
basiak 发表于 2024-12-28 12:00
你试试打开同一频道,看可以多开几个?
我用tivimate自带分屏,貌似开4个运营商4K稳定流畅,超过能开但是卡 ...

厉害。
100上行怎么做到的?
作者: cookbrown03    时间: 2025-4-16 22:25
镇的太强了,我也要收藏此帖
作者: 翰墨留香    时间: 2025-4-17 00:13
dert 发表于 2024-12-28 00:20
我这里的浙江电信直接就能看iptv组播,无需转换,无论是光猫拨号还是路由拨号都能看,
频道地址是rtp://233 ...

使用WiFi直接看组播好像会大量消耗网络资源,用有线网倒是问题不大
作者: kokikoku    时间: 2025-4-19 19:21
翰墨留香 发表于 2025-4-17 00:13
使用WiFi直接看组播好像会大量消耗网络资源,用有线网倒是问题不大

无线网络——专业设置——开启 IGMP Snooping 功能 就不会了吧。
华硕路由器。。。
作者: djrocket    时间: 2025-4-19 22:56
wangqiu 发表于 2025-3-22 11:30
广州电信搞不定鉴权

广州电信用msd或udp都可以,接iptv口pppoe拨号即可...
作者: gravely    时间: 2025-4-19 23:37
真有这么大的需求,直接用igmpproxy就行了
作者: binne    时间: 2025-4-20 13:35
岔开话题了,系统装在外挂硬盘盒里面有什么好处?不是装在原装256G里面更稳定吗?




欢迎光临 Chiphell - 分享与交流用户体验 (https://www.chiphell.com/) Powered by Discuz! X3.5