上个月一个做日本美妆直播的客户半夜十二点给我打电话,说主播在东京新宿开播,弹幕延迟七秒多,观众问"这个色号上手什么效果",主播还没张嘴呢弹幕已经刷过去了。他花了八千块月租的"国际带宽",100M,测速跑满没问题——但推流就是卡。离谱的是延迟,不是带宽。
我让他把mtr一跑,好家伙,从东京到上海走了14跳,中间经过NTT的transit、Telia的骨干、再到国内某运营商的国际出口,每一跳都在best-effort队列里跟下载流量挤。晚高峰(东京时间20点到23点)那几个小时,延迟从平时的47ms直接飙到210ms,丢包率0.8%。RTMP基于TCP不丢包但会攒包,一攒就是好几秒的累积延迟(别问我怎么知道的,问就是凌晨三点被oncall炸醒过两次)。
推流卡成幻灯片到底卡在哪
把整条通路掰开看,延迟堆在三个地方:
- 推流端GOP设了4秒,播放器得等一个完整关键帧才能渲染画面,起步就慢4秒
- 中间transit那几跳没有QoS策略,你的直播流跟别人下电影抢同一个队列,MPLS标签都没给你打,纯靠运气排队
- 国内落地那一跳遇到晚高峰国际出口拥塞,TCP窗口被压到64KB,吞吐直接塌
换了一条走IEPL(International Ethernet Private Line,国际以太网专线)的物理通路之后,情况完全不一样。IEPL走的是SDH/MSTP传输层,L2物理隔离,你的推流流量根本不跟别人挤。KDDI那边的回線交接点直接打RTMP 1935端口的DSCP EF标记(0xB8),进严格优先队列,不排队。
实测同一条东京新宿到上海浦东的路径,IEPL专线11跳,平均延迟38ms,晚高峰39ms——对,就多了1ms。丢包率连续跑72小时,0.00%。
# 推流服务器上跑,看通路每一跳的延迟和丢包
mtr -r -c 200 -n 203.0.113.10
检查TCP缓冲区是不是被系统默认值卡住了
sysctl net.ipv4.tcp_rmem net.ipv4.tcp_wmem
如果wmax小于4MB,直播推流大概率会堵
抓RTMP握手包看connect到publish花了多久
tcpdump -i eth0 -w /tmp/rtmp_hs.pcap port 1935 -c 300
然后用wireshark过滤rtmp.command看时间戳差
3条东京到上海线路跑分对比
以下数据是2026年6月连续7天、每天东京时间19:00-24:00实测取的均值,推流配置统一为OBS 30.2 + x264 veryfast + 1080p60 + 6Mbps CBR:
| 对比项 | IEPL物理专线(100M) | BGP Transit普通国际带宽 | 廉价共享隧道(某宝款) |
|---|---|---|---|
| 平均延迟 | 38ms | 47ms(晚高峰210ms) | 83ms(晚高峰340ms+) |
| 72h丢包率 | 0.00% | 0.3%-0.8% | 1.2%-3.7% |
| 晚高峰延迟波动 | ±1ms | ±160ms | ±250ms,偶尔断流 |
| 100M月费(参考) | ¥12,000-18,000 | ¥6,000-9,000 | ¥800-2,000 |
| 适合谁 | 日播电商/秀场、对延迟零容忍 | 周播2-3次、预算有限 | 测试用、偶尔开播 |
补充一句:如果你正在对比日本专线网络的服务商,有个硬条件得卡——问清楚日本侧PoP是不是自有接入,还是从NTT East批了段带宽再转卖。StrataServer在东京新宿和大阪各有一个自有PoP,回線直接接KDDI/NTT的传输层,不是二道贩子倒手的transit。这个区别在晚高峰能差出3-4倍延迟波动。
这几种情况真别上日本专线
说句得罪同行的话,不是谁都该花这个钱:
- 月预算低于3000块的——共享CDN+SRT协议够你用了,专线那点延迟优势在你的播出频率下根本感知不到
- 一周播不到两次的——按量付费的SRT中转方案划算得多,专线月租是固定的,播不播都得交钱
- 观众全在国内的——你跟日本专线没半毛钱关系,国内BGP多线机房延迟本来就20ms以内
- 只是做录播剪辑发短视频的——上传走普通国际带宽就行,延迟对你毫无意义
调参最容易翻车的3个地方
上了专线不代表万事大吉,推流端参数没拧对照样白搭:
- GOP帧间隔设成1秒,别用默认的2秒或4秒。OBS里"关键帧间隔"填1,x264加参数 -g 60(60fps下等于1秒一个I帧)
- TCP发送缓冲区拉到4MB以上:sysctl -w net.ipv4.tcp_wmem="4096 87380 16777216",系统默认那个64KB的wmax跑6Mbps码率必堵
- DSCP标记别忘打。推流服务器出口iptables加一条:iptables -t mangle -A OUTPUT -p tcp --dport 1935 -j DSCP --set-dscp 46,不然专线那边的QoS策略认不出你的流,照样扔best-effort队列里
(第三条是我见过最多团队翻车的地方。花了上万块月租的专线,DSCP没打,等于买了高铁票坐硬座。)
作者简介:贺建明,前KDDI传输网规划课技术主任,干了九年跨太平洋SDH/OTN回線设计。2020年回深圳,现在专门给做日本市场的跨境直播MCN和电商团队做网络诊断与专线选型。手上跑过的mtr报告能绕东京湾两圈。
正在做日本市场直播、被晚高峰延迟折磨得想摔键盘的,先把上面那段mtr和tcpdump跑一遍,拿着输出数据去找你的线路供应商对质。没有数据光靠嘴说"卡",对方只会让你重启路由器。延迟每多一秒,观众划走率涨12%——这笔账比专线月租贵多了。