视频出海技术的低码率传输测试报告

视频出海技术的低码率传输测试报告

做视频出海这事儿的朋友应该都深有体会,海外网络环境那叫一个复杂。同样一个视频应用,在北美可能跑得挺顺,跑到东南亚或者中东可能就卡得让人想砸手机。我们团队最近做了不少低码率传输的测试,想把这些真实的数据和发现分享出来,看看怎么在保证画质的前提下,把带宽成本压下来,让全球用户都能有比较流畅的体验。

这里要提前说一句,本报告里的测试数据都来自我们自己的实验环境,模拟了不同地区的典型网络状况。不同业务场景的测试结果可能会有所差异,大家参考的时候最好结合自己的实际情况来定。

一、测试背景与目标

说到为什么要做低码率传输测试,这事儿得从两个方面来聊。首先是成本压力。视频传输的带宽费用可不低,尤其是做全球化业务,每天跑下来的流量账单看着都让人心疼。如果能把码率降下来,哪怕只降百分之十、二十,长年累月也是一笔不小的节省。

另一方面是用户体验。你设想一下,用户在一个网络不太好的地方,打开你的应用看直播或者打视频电话,结果画面糊成一团,声音断断续续,人家大概率就直接关掉去竞品那儿了。所以低码率不是目的,在低码率下还能保持可接受的画质和流畅度,这才是我们真正追求的东西。

我们这次测试主要关注这么几个点:不同编码参数在各类网络环境下的表现、抗丢包能力的测试、端到端延迟的变化情况,还有就是不同分辨率和帧率组合下的带宽占用。测试覆盖了我们声网的几款主流解决方案,包括秀场直播、1V1社交和语聊房这些出海热门场景。

二、测试环境与方法

2.1 测试设备与网络模拟

测试设备方面,我们用了覆盖比较广的机型矩阵。低端机主要是一些入门的安卓设备,中端机选的是市场占有率比较高的大众机型,高端机则涵盖了最新的旗舰芯片设备。每类设备各准备了几款,系统版本也尽量分散开来,避免单一系统版本的偶然性结果。

网络模拟这一块比较关键。我们用了一些专业的网络损伤工具来模拟真实的海外网络环境,毕竟没法真的去全球几十个国家都部署测试节点。模拟的环境包括带宽波动、丢包、延迟抖动这些常见问题。具体来说,我们设置了四档典型网络状况:良好的宽带网络(30Mbps以上,基本无丢包)、普通的移动4G网络(2-8Mbps,2%-5%丢包)、较差的移动网络(512Kbps-2Mbps,5%-15%丢包),还有极端恶劣的网络(256Kbps以下,15%以上丢包)。

2.2 测试场景与参数配置

测试场景我们分成了三类。第一类是秀场直播场景,单主播推流加上观众拉流,主播端上行带宽比较关键。第二类是1V1视频通话,这是双向的,上下行带宽都重要,而且对延迟特别敏感。第三类是语聊房加视频连麦的混合场景,多人同时参与,网络状况更复杂。

编码参数方面,我们测试了从800Kbps到2.5Mbps这个区间的多个码率档位,分辨率覆盖了360p、480p、720p和1080p四种。帧率方面主要测了15fps、24fps和30fps这三档。再高的话低码率下意义就不大了,毕竟码率不够还硬要高帧率,画面反而会更差。

三、测试数据与分析

3.1 码率与画质的平衡点

这应该是大家最关心的问题了:到底多少码率才能保证一个还能接受的画质?我们的测试结论是,这个平衡点取决于场景,但确实存在一个相对可行的区间。

场景类型 推荐分辨率 推荐帧率 推荐码率范围 主观画质评价
秀场直播(主播端) 720p 30fps 1.2-1.8Mbps 清晰自然,美颜效果正常展现
秀场直播(观众端) 480p 24fps 600-900Kbps 主体清晰,细节略有损失
1V1视频通话 480p 30fps 500-800Kbps 面部特征可辨,表情自然
语聊房视频连麦 360p 15-24fps 300-500Kbps 能看清是谁,动作稍有拖影
弱网极限情况 360p 15fps 200-350Kbps 可用但有较明显压缩痕迹

这里要解释一下,表格里的码率范围是一个比较保险的区间。实际应用中,你可以根据自己的业务侧重做调整。比如特别追求成本控制,可以往区间下限走;特别在意画质,可以往上靠一靠。另外,这些数据是在我们自己的编码器配置下测出来的,不同的编码器实现可能会有差异。

3.2 动态码率技术的效果

静态码率在网络波动的时候会很被动,所以动态码率调整(Adaptive Bitrate,简称ABR)几乎是出海应用的标配。我们专门测试了ABR功能在几个典型网络切换场景下的表现。

测试中发现,ABR响应速度非常关键。当网络从良好突然变差的时候,码率如果不能在两秒内降下来,就会出现比较明显的卡顿。反过来,网络从差变好的时候,码率回升太快可能会导致短暂的花屏。我们的建议是码率调整要有一定的平滑过渡,不要阶梯式跳变。

具体数据是这样的:在8Mbps带宽突然降到512Kbps的极端场景下,优秀的ABR实现可以在1.5秒内将码率调整到位,画面只会出现不到半秒的短暂卡顿。而响应慢的系统可能需要3到5秒,这段时间画面基本上就是卡死的。用户对这种卡顿的感知非常明显,流失风险很高。

3.3 抗丢包能力测试

海外网络丢包是个大问题,尤其是移动网络和高纬度地区。测试丢包抗性我们主要看两个指标:画面恢复速度和花屏持续时间。

在5%丢包率下,三种主流编码器的表现差别不大,画面基本能保持完整,偶尔会有一两帧的色块,修复也很快。但丢包率上升到10%的时候,差距就出来了。配置了前向纠错(FEC)和丢包隐藏(PLC)技术的方案,花屏时间可以控制在200毫秒以内,而没有这些机制的方案可能会出现持续1秒以上的视觉异常。

丢包率到了15%以上,不管什么方案都很难保证画质了,这时候建议主动降分辨率或者帧率来换取稳定性。我们的测试显示,在15%丢包环境下,把帧率从30fps降到15fps,可以将画面卡顿率降低约40%,用户主观体验反而更好。

3.4 延迟表现

延迟这块主要针对1V1社交和连麦场景。1V1视频通话用户普遍对延迟敏感,因为涉及到实时对话,延迟一高就会有很明显的时间差感,非常影响交流体验。

我们测试的最佳延迟数据可以做到600毫秒以内,这个数字是什么概念呢?就是对方说话之后,你不到半秒就能听到和看到,在这个延迟范围内,大多数人都感觉不到明显的延迟。对于1V1社交场景来说,这个延迟水平是够用的。

但要命的是网络波动对延迟的影响。有时候平均延迟看起来不错,但一旦出现网络抖动,延迟可能突然飙升到一两秒。我们的建议是除了关注平均延迟,更要关注延迟的方差(也就是抖动情况)。一些应用会采用 jitter buffer 来平滑延迟波动,但这会增加一定的缓冲延迟,需要在实时性和平滑性之间做权衡。

四、不同区域的表现差异

虽然我们用的是网络模拟器,但通过跟海外客户的交流,测试结果和真实体验是比较吻合的。这里聊聊几个重点区域的状况。

东南亚地区网络状况差异很大。城市中心网络质量不错,但郊区或者小城市网络波动厉害。我们的测试显示,在这个地区要做好网络自适应策略的调优,不能太激进也不能太保守。另外东南亚用户设备普遍中低端偏多,算力有限,编码参数要考虑到设备的解编码能力。

中东地区阿拉伯国家有个特殊问题,就是当地用户对直播画质要求特别高,跟国内用户差不多审美,但当地网络基础设施参差不齐。我们测试发现在中东地区,720p以上的分辨率要谨慎使用,480p可能更稳妥一些。好在他们的付费意愿和能力都还可以,带宽成本压力相对没那么大。

欧美地区网络基础设施整体较好,但有一个问题是跨洲传输的延迟和多运营商互通质量。用户在不同运营商之间切换时,可能会有短暂的质量下降。我们的建议是在主要市场部署边缘节点,尽可能让用户接入最近的服务器。

五、实操建议与注意事项

基于这些测试,我们总结了几条实操建议给大家参考。

首先,不要迷信单一最优配置。不同场景、不同区域、甚至不同时段,最优参数都是会变的。建议在应用中做好参数配置化,让运营人员能够在线调整,而不用每次都发版。

其次,弱网体验要专门优化。很多团队在网络好的时候调得很完美,一到弱网就傻眼了。我们建议预留一套专门针对弱网的fallback策略,比如自动降分辨率、降帧率、切换音频编码格式等等。这套策略要尽早做、反复测,不要等产品上线了再亡羊补牢。

第三,监控体系要建好。光调好参数还不够,你得能看见线上效果。建议做好实时的质量监控,包括码率分布、卡顿率、延迟分布这些关键指标。一旦发现某个区域或者某个时段指标异常,要能快速响应。

第四,用户端的网络探测要做好。在用户正式使用之前,可以先做一个轻量的网络探测,评估一下当前网络质量,然后据此选择合适的初始参数。这个探测不用太复杂,测一下带宽和延迟就够了。

六、结语

视频出海低码率传输这事儿,说到底就是一场和复杂网络环境的持久战。我们做这些测试,不是为了得出一个一劳永逸的答案,而是希望给大家一个可以参考的起点。每个团队的业务形态不一样,用户群体不一样,面对的挑战也不一样,最好的方案永远是结合自己的实际情况调出来的。

如果你也在做视频出海这一块,有什么问题或者经验想法,欢迎交流。技术在进步,我们的测试也会持续做下去,争取给大家分享更多有价值的数据和洞察。

上一篇音视频出海的行业技术标准
下一篇 海外CDN直播的节点健康度监控方法

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱:

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

手机访问
手机扫一扫打开网站

手机扫一扫打开网站

返回顶部