1.
准备工作与环境说明
- 准备一台位于马来西亚的测试主机(VPS或本地),以及一台观测端(可在中国大陆或其他地区)。
- 安装工具:iperf3、mtr/traceroute、tcpdump或Wireshark、ffmpeg、OBS Studio。安装示例:Ubuntu上 sudo apt update && sudo apt install iperf3 mtr traceroute tcpdump ffmpeg -y。
2.
第一步:确认路由与CN2路径
- 在测试主机与观测端分别执行 traceroute -n <对端IP> 或 mtr -rwzbc100 <对端域名>,记录经过的自治系统(AS)与延迟跃点。
- 判断是否走CN2:观察经过AS号为中国电信相关(AS4134/AS9808等)且延迟较低、跳数较少的路径,结合ISP提供的CN2出口信息确认。
3.
第二步:带宽与丢包基础测试
- 启动iperf3服务端:iperf3 -s -p 5201。
- 客户端测试TCP:iperf3 -c
-p 5201 -t 60 -R(反向测试)。记录带宽、抖动、丢包。
- UDP测试(更贴近实时视频):iperf3 -c -p 5201 -u -b 5M -t 60,观察丢包率与抖动。
4.
第三步:RTT、抖动与丢包判定标准
- 判定参考:RTT<40ms为优秀,40-80ms可接受,>150ms会明显影响直播体验。
- 丢包率<0.5%通常可通过FEC/重传缓解,>1%会导致明显卡顿,抖动>30ms需要加大播放器缓冲。
5.
第四步:搭建本地RTMP/HLS测试流
- 使用ffmpeg推流示例:ffmpeg -re -stream_loop -1 -i test.mp4 -c:v libx264 -preset veryfast -b:v 2000k -maxrate 2200k -bufsize 4400k -c:a aac -f flv rtmp:///live/stream。
- 若无RTMP服务器,可使用nginx-rtmp或借用云直播服务的RTMP推流地址。
6.
第五步:模拟码率自适应(ABR)策略
- 本地生成多码率清单(HLS):用ffmpeg分别生成360p/720p/1080p片段并输出 master.m3u8。示例:为每个分辨率运行ffmpeg -i test.mp4 -c:v libx264 -b:v 800k -s 640x360 -g 48 -hls_time 4 -hls_list_size 6 stream_360.m3u8。
- 在观测端使用支持ABR的播放器(如hls.js或ExoPlayer),通过网络波动让播放器在不同码率间切换。
7.
第六步:记录码率切换与卡顿事件
- 打开浏览器DevTools的Network与Media标签,记录每次播放缓冲事件、切换到的带宽档位与下载耗时。
- 同时在播放器端开启日志输出(hls.js config.enableDebug=true),将事件写入日志文件用于后续统计。
8.
第七步:自动化脚本采集与卡顿率计算
- 使用selenium或puppeteer自动打开播放器并监听window.performance或hls.js事件,将事件时间戳发送到日志。
- 卡顿率计算方法:卡顿率 =(卡顿次数 / 总播放分钟数)*100%。卡顿定义为缓冲时长>1s的事件;记录平均每分钟卡顿次数与总缓冲时长。
9.
第八步:深入抓包与重传分析
- 使用tcpdump抓包:sudo tcpdump -i eth0 host <对端IP> -w cn2_test.pcap。
- 用Wireshark分析TCP重传、SACK、RTO频次或UDP丢包序列号缺失,确认是否因链路丢包或拥塞导致卡顿。
10.
第九步:优化建议与调优步骤
- 若延迟高或丢包明显:联系运营商确认是否真走CN2,或要求接入CN2 GIA通道。
- 直播端优化:降低初始码率/增加播放器预缓冲、启用FEC或重复冗余、采用更短的HLS分片(如2-4s)并确保多码率平滑过渡。
11.
问:如何量化马来西亚CN2对直播卡顿影响? 答:通过连续24小时的iperf3 UDP丢包/抖动测试、RTT曲线、以及至少1小时的多码率HLS播放日志,统计卡顿次数、平均缓冲时长与码率切换频次,综合判断CN2链路在不同时段的稳定性。
12.
问:码率自适应测试时哪些指标最关键?
问:码率自适应测试时哪些指标最关键? 答:关键指标为播放器切换频次与目标码率保持时长、播放端缓冲事件(次数与时长)、最后用户看到的平均码率,以及切换导致的短时黑屏或卡顿事件。
13.
问:实测发现高丢包,优先采取哪些应对措施?
问:实测发现高丢包,优先采取哪些应对措施? 答:优先联系链路提供方确认是否可切换到CN2 GIA或更优出口;临时方案在播放器端启用FEC、加大缓冲并降低初始码率,同时采用更短分片和更平滑的ABR算法以减少卡顿。
来源:视频直播角度的马来西亚cn2评测 码率自适应与卡顿率分析