V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
foru17
V2EX  ›  宽带症候群

广东电信 IPTV 组播极限测试

  •  
  •   foru17 · 1 天前 · 1436 次点击

    昨天一不小心搞定了电信 IPTV 内网转发。心血来潮,想看看极限能跑多少路 IPTV 直播。有关记录和讨论

    🌐 网络条件

    • 东莞电信 1000M 下/50M 上(有公网 IPv4/IPV6)
    • 光猫 2.5G 网口 1 桥接,软路由拨号
    • 光猫 iTV 口 桥接: 封装类型 PPPoE 网线连软路由,OpenWrt 配置网口 UDPXY 转发组播

    🔧 硬件配置

    • 光猫: 中兴 7015tv3 (2.5G WAN + 1G ITV)
    • 软路由: N5105 4 口 2.5G
    • Mac: M2 Max/96GB + 2.5G 网卡
    • PC: i7-8700K/1080 + 万兆网卡

    📡 转发组播

    我也是昨天看到 /t/102603 这个帖子下的留言,发现可以通过「电脑插光猫 ITV 口直接播放」来验证是否能能组播转发。

    经过测试,我家东莞电信、深圳联通两地的 IPTV ,都可以满足。

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

    🎮 测试播放器

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

    用 IINA 也试过,最多只能播放 15 个且很卡顿,后来搜到 GridPlayer 发现可以满足需求。

    📊 测试结果:

    • Mac 跑到 25 路就到顶了(CPU 高负载+风扇难得跑了起来),系统不卡顿,但是播放器卡顿。
    • PC 能撑到 30 路( Mac 那边 25 路还在运行),可添加无限源但超过会卡顿,已达 CPU 和显卡瓶颈,系统卡顿,播放器可能崩溃。
    • 每路都是不同的电视台源,上面 55 路同时播放流畅不卡顿。跑满时,其他设备(AppleTV/手机) IPTV 客户端无法再播放其他线路,ITV 网口监测带宽已打满 1000M
    • ⚠️ 家宽速率从原本 1300M 降至 200-300M ,说明占用了主线路带宽

    Mac 最多只能播放 25 路。

    PC 额外播放 30 路,CPU 压力很大。

    OpenWrt 监测 ITV 口带宽已打满 1000M ,家里有 2000M 宽带的朋友要是有条件也可以试试看能不能突破。

    💡 结论

    我不确定其他地区的运营商对 IPTV 有何限制(据网友留言,某些地方的 IPTV 线路被限制在 200M ),但我家的情况是 IPTV 和宽带共享带宽。

    播放上限取决于 ITV 口的带宽,在理论上 1000M 可以稳定支持 50+路直播

    第 1 条附言  ·  1 天前

    补充

    为了验证「家宽线路和 IPTV 线路是否共用带宽」,我又重新验证了下。

    换了中兴 7013tv3 2.5G 光猫后,我家电信实际官网测速能稳定跑到 1300M 左右。刚刚重新测试了下。

    1. PC 跑 30 路直播,占用 500M 宽带,使用第三台设备 Mac Mini(通过 2.5G 接入内网) ,Mini 测速依旧能跑到 1300M。
    2. PC 跑 30 路,Mac 播放 20 路,此时 ITV 带宽上升到 800Mbps, Mini 测速依旧跑满 1300M 的家宽下行。
    3. PC 跑 30 路,Mac 播放 25 路,此时家庭所有 IPTV 客户端无法再新增额外电视直播流,其他设备若新增直播流,原有正在直播线路随机断开。 iTV 网口带宽达到 900M 到 1000M 波动。此时 Mini 测速依旧跑满 1300M 带宽。

    从上面进一步测试看来,得出纠正后的结论

    • 家宽和 IPTV 带宽的确是隔离的,IPTV 线路不会影响家宽的带宽。
    • 目前 1000M IPTV 带宽,在我家所有设备支持最多同时 55 路直播,由于我的所有直播源都是官方的 HD 1080P,平均码率 5M 左右,基本符合 1000M 带宽的物理上限。

    由于条件限制,我的宽带总下行是 1000M,无法验证 2000M 宽带是否能支持 100+路直播,但理论上是可以的。

    第 2 条附言  ·  1 天前

    iTV 绑定 2.5G 网口测试结果

    把 iTV 的口换绑到光猫 2.5G 网口,又重新测试了下,原以为突破 1000M 的网口物理限制,但是实测下来,最高播放数量依旧限制了 55 路直播。

    看样子 IPTV 的线路除了带宽,应该还有其他限制。

    第 3 条附言  ·  5 小时 20 分钟前

    msd_lite 测试更新

    之前的 55 路应该是乌龙了,后来我又换用 msd_lite 进行转发,重新跑了一轮测试。

    最后结果:能同时播放 145 个台, IPTV 带宽跑到了1.45Gibit/s,挺离谱的。

    具体的过程和结果,写了一篇文章记录:

    https://luolei.org/chinanet-iptv

    19 条回复    2024-12-28 14:13:24 +08:00
    Jeanslike
        1
    Jeanslike  
       1 天前
    牛了 来学习下
    Johnoo
        2
    Johnoo  
       1 天前
    手动点赞 +10086
    yyysuo
        3
    yyysuo  
       1 天前
    你这是组播转单播。
    guoyan
        4
    guoyan  
       1 天前
    学习下,想在电视上展现这样的效果。
    youx
        5
    youx  
       1 天前
    楼主应该先去学习下 pon ,逻辑业务的总带宽 不能超过物理链路带宽
    foru17
        6
    foru17  
    OP
       1 天前
    @youx 不是这个专业领域,就是验证下实际场景速率。
    acrisliu
        7
    acrisliu  
       1 天前
    需要宽带开通 IPTV 业务么?
    foru17
        8
    foru17  
    OP
       1 天前   ❤️ 1
    @acrisliu 我家电信和联通两个 IPTV 都是开通了的,但是有网友说有些地方 IPTV 组播是默认开启的,哪怕不开套餐也能看。
    cpstar
        9
    cpstar  
       1 天前
    坐标北京联通,配置更简单,在 OPENWRT 定义好几个 IPTV 的静态路由,子网里边就随便 IPTV 了。
    本地吃 CPU 那是显示渲染的问题,几十路画面 DirectDraw ,显卡/CPU 压力都很大。但是我觉得 udpxy 转包也是一个消耗 CPU 的事情,压力也很大啊,或许 55 路的限制在此?你可以试试直接本地 CPU 进行组播转包或者直接播放组播,会不会有 55 路的限制。然后 1000Mbps/5Mbps=200 路
    foru17
        10
    foru17  
    OP
       23 小时 56 分钟前
    @cpstar 哈哈,到这里我感觉已经差不多啦,就是娱乐测测,看后续哪位仁兄可以去挑战下。
    foru17
        11
    foru17  
    OP
       23 小时 47 分钟前
    @cpstar

    你提到 udpxy 这点我之前忽略了,我刚看了下,一路直播 CPU 占用大概 2%,这么算下了 55 路好像还真是我 OpenWrt 所在机器的 CPU 瓶颈了。
    foru17
        12
    foru17  
    OP
       23 小时 40 分钟前
    @cpstar 我刚刚重新跑满了 55 路(后续新增的还是无法播放),这个时候 CPU 也才 60-70%,udpxy 每个进程 CPU 占用率大概 1-2%,整体还是吃不满 CPU 。算了,娱乐娱乐,不测了不测了。😂
    king050203
        13
    king050203  
       22 小时 58 分钟前 via Android
    西安电信,iptv 机顶盒 pppoe 拨号方式,但是电脑直插 iptv 端口能拿到 10 开头的内网地址,可以直接看组播。还有路由宽带拨号拿的 100.64 地址,只要打开 igmp 代理,也能看组播,还不影响 iptv 机顶盒同时使用。宽带上网的线路和 iptv 的线路都有组播信号
    foru17
        14
    foru17  
    OP
       17 小时 51 分钟前 via iPhone
    @cpstar

    推翻昨天的结论,尝试探索 IPTV 极限,我知道这很离谱,改用 msd_lite 替代原来 udpxy 进行多播转发,同时将光猫 iTV 口 绑到 2.5G 网口,现在直播数量突破到了 72+56+25 ,由于电视台总数量不够,没意义了,网口平均速率达到 1200Mbps(不占用网络带宽) ,总数肯定过百了 😂 没想到 IPTV 给这么大带宽。
    foru17
        15
    foru17  
    OP
       17 小时 48 分钟前 via iPhone
    @cpstar https://x.com/luoleiorg/status/1872700773093769377

    昨天那个 55 的限制,我看了下应该是我在 udpxy 插件那里不小心设置了一个最大客户端数量 50 。 我今晚改用 msd_lite 后又重新测了下,100 多路在线跑满宽带上限了。
    tywtyw2002
        16
    tywtyw2002  
       16 小时 21 分钟前 via iPhone
    7015tv3 是 xgon 的。 理论可以 10g 下行的。iptv 应该是理论上能无限跑。

    你换个 10g xpon 的猫棒插电脑看看。毕竟 7015tv3 是 2.5g 口,1g iptv ,硬件限制
    abc2xyz
        17
    abc2xyz  
       15 小时 48 分钟前
    @acrisliu 只是单纯看组播的话其实是不需要的,但是看组播需要你光猫里有 IPTV 的链接配置,有的还需要 vlan 绑定的设置,如果不开通 IPTV ,大部分情况光猫里是没有这些配置的,需要运营商下发,但是如果有超密或者自己换光猫,这些配置都是可以自己手动添加的
    abc2xyz
        18
    abc2xyz  
       15 小时 45 分钟前
    Github:gridplayer
    由来有这东西,以后用来扫频道有用,哈哈
    yyysuo
        19
    yyysuo  
       5 小时 27 分钟前
    @foru17 牛逼,msd_lite 的占用一般只有 udpxy 的三分之一。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2645 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 11:40 · PVG 19:40 · LAX 03:40 · JFK 06:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.