在网络技术迅猛发展的当下,超低延迟已成为视频流媒体传输的关键需求。2022 年起,火山引擎多媒体实验室针对超低延迟多路径传输领域展开了深入的前沿探索与研究。
目前,多媒体实验室与流媒体技术团队共同推出的自研 MultiPath ByteRTC 技术架构,已在抖音社交、抖音云游戏等多个业务场景成功上线,并且为业务带来了可观的收益。本文将对 MultiPath ByteRTC 架构及其算法方面的研究成果进行详细介绍。
2023年6月5日,苹果发布了Vision Pro,产品一经发布受到极大的关注,其展示了极强的沉浸式交互体验,颠覆VR产品与行业的潜力已经初露端倪。 2024年8月20日,国内首个3A大作《黑神话:悟空》全球上线,其中众多的云游戏玩家已经出现排队现象。由此可见,无配置压力,无需下载、点开即玩的云游戏在爆火IP的带动下具有更大的市场潜力。
随着VR、AR、云游戏等IP的爆火, 用户对于沉浸式视频服务的交互体验有了更加极致的要求,沉浸式交互视频服务有以下特点:
尽管互联网基础设施和5G发展得很快,目前流媒体传输协议仍然难以满足超低延迟业务的体验要求。从我们2024年测量的云游戏用户数据来看,用户在游戏过程中平均2%-3% 的时间会感受到画面卡顿,平均交互延迟高于100ms。
云游戏用户平均卡顿率和交互延迟
总的来说,目前超低延迟传输和用户期望的体验之间还有较大差距,通过业务洞察,我们将不足预期的原因归纳为两个方面:
一、网络链路质量不稳定。 延迟角度:用户网络 RTT 虽然平均值不高,但存在严重的长尾问题;丢包角度:网络丢包经常发生,一旦发生丢包传输层需额外耗费多个RTT 重传数据;带宽角度:互联网是一个开放环境,网络中的其他流量还会和实时流媒体竞争带宽。当网络链路本身就很差时,传输层几乎无法避免用户体验受影响。
二、传输协议本身存在缺陷。 首先,网络带宽估计不准确会导致网络拥塞;其次,视频编码器可能给生成超过传输层估计带宽的数据,引起更多的拥塞排队和丢包;另外,过度重传流量和保护流量也会导致网络拥塞和视频码率下降。现有的为点播和直播而设计的传输协议以及优化,对于超低延迟流媒体的效果并不理想,因为这些解决方案中的大多数旨在减轻网络中断产生的影响,而不能防止其发生。极其严格的交互延迟限制使得,即使是轻微的网络波动,传输协议也没有多少时间进行反应来抵消波动。
基于超低延迟业务相比其他业务更依赖网络通路本身的质量,我们开始探索多路径传输在超低延迟业务的价值。多路径传输是指用户设备建立两条或者多条互不干扰的物理通道(例如Wi-Fi和蜂窝),在 Wi-Fi 和蜂窝网络路径上同时进行数据传输,可以使每条路径在另一条路径出现波动时作为备份。只要不是所有路径同时拥塞,理论上多路径传输就可以大大减少网络波动。
多路径传输概念
为了测量多路径传输的收益空间,我们进行了用户多路径探测实验,实验共收集了160万个用户会话。结果显示,不同区域下多径将网络平均RTT减少了12%~48% ,平均丢包率减少了65%~88% 。
这表明,虽然 Wi-Fi 和蜂窝网络分别出现波动的概率很高,但两条网络路径同时表现不佳的情况并不常见,同时使用多条路径传输对减少网络波动和卡顿有较大潜力。
同时,我们也关注到近年来工业界对多路径的兴趣度显著提升,许多公司已经开始尝试在不同业务上部署多路径。目前,多路径的应用场景主要还集中在数据中心、点播、直播等延迟要求不高的场景,而实时通信场景应用多路径的探索才刚刚起步,业界也缺乏通用的多路径超低延迟传输协议标准。
时间 | 公司/机构 | 多路径协议 | 部署业务 |
---|---|---|---|
2013年 | Linux [1] | MPTCP | Linux系统 |
2017年 | Apple [2] | 自研 | 苹果手机操作系统 |
2020年 | 华为 [3] | 自研 | 华为手机操作系统 |
2021年 | 阿里 [4] | MPQUIC | 淘宝短视频场景 |
2022年 | 腾讯 [5] | MPTCP* | 腾讯云游戏场景 |
2022年 | 字节 | MPRTC | 抖音社交、连麦、云游戏 |
(注:MPTCP*表示基于TCP自行扩展的多路径方案,而非遵循IETF的MPTCP标准)
虽然多路径传输展现了很大潜力,在超低延迟传输场景实现理想的体验收益面临诸多挑战:
#1:数据调度和传输
首先要解决数据如何在多条路径之间传输的问题。面对超低延迟的要求,传输协议需要在当前路径发生问题之前,提前使用其他稳定路径进行数据传输,才能保证体验不受影响,这要求数据调度算法能够灵敏地检测出弱网并快速做出反应。除此之外,调度还要解决多路径延迟异构性带来的队头阻塞问题以及重传问题。
#2:编码码率控制
实时流媒体需要动态更新编码比特率以匹配随时变化的网络带宽,使用多路径传输时调度决策也会影响路径上实际产生的流量。因此,传输协议要能够准确地预测多路可用带宽,避免高估使编码器生成超过网络容量的数据,也不能低估使得画质受损。
#3:流量成本和功耗
沉浸式流媒体应用的码率通常很高,在蜂窝路径上产生的流量开销可能对用户造成较大的负担,进而导致用户活跃度下降。因此传输策略需要在保证体验的同时,尽量减少蜂窝流量成本。另外,申请多个网卡也可能带来功耗增加和发热的问题。
#4:多路协议架构的通用性
如何设计一套通用的超低延迟多路径传输协议和架构同样具有很大的挑战。架构上需要保持稳定性和健壮性,要保证架构可以在兼容单径传输方式和多径传输,需要对原有RTC传输框架每个模块进行重新设计和扩展。算法上要提供灵活性和弹性,提供不同等级的延迟和画质保证能力,以支持不同类型的超低延迟应用。
自 2022 年起,字节开启了 MultiPath ByteRTC 传输架构设计工作,历经长期的架构演进与算法迭代,该架构目前现已在抖音社交、连麦、云游戏等多个业务中部署并取得业务收益。
MultiPath ByteRTC基于WebRTC协议扩展成多路径实时通信协议,并对整个传输架构进行重构以支持多条路径的传输控制以及提供灵活的网络策略管理。MultiPath ByteRTC分为两层,连接层负责申请和维护多个网络Socket,将可用、可连通的Socket提供给传输层;传输层维护多个网络传输连接和Socket一一对应,每个传输连接独立统计该条路径的网络质量信息和传输控制。另外,为了实现高效和智能的传输控制,传输层还设计了多路径管理模块进行全局数据管理,包括数据调度、带宽分配、码率控制以及和连接层网卡申请的交互控制。
多路径传输架构设计
下面介绍我们在抖音社交场景和抖音云游戏开启大规模A/B实验的数据结果,可以看到,部署MultiPath ByteRTC对业务体验和传输效率都有显著提升的效果。
◎ 抖音社交
业务体验显著优化: 抖音社交场景主要针对音频数据开启了A/B实验,实验结果显示:
体验质量评价指标 | 多路径架构相比不开启多径 |
---|---|
音频卡顿率 | -16.124% |
端到端延迟100ms达标率 | +23.897% |
端到端延迟400ms达标率 | +3.103% |
端到端延迟800ms达标率 | +0.628% |
端到端延迟1000ms达标率 | +0.473% |
◎ 抖音云游戏
抖音云游戏场景针对视频数据开启了多轮A/B实验。和音频场景相比,视频传输对网络要求更高,遇到的用户体验问题和技术挑战更大。
体验质量评价指标 | 多路径架构相比不开启多径 |
---|---|
视频卡顿率 | -8.147% |
平均端到端延迟 | -1.894% |
50th-端到端延迟 | -2.115% |
90th-端到端延迟 | -5.695% |
进一步的业务思考💡
除了设计面向大规模落地的超低延迟多路径架构,我们同时也在探索算法的天花板。TwinStar是本团队发表在ACM MM'23的研究工作,24年我们进一步完善了原型系统并进行了更大规模的测试用户主观实验。
TwinStar旨在利用用户的多网卡能力设计一套接近无卡顿的多路径流传输方案,达到极致的流畅体验。即使是用户处于弱网环境、移动场景都能够保证良好的用户体验。方案通过视频切分联合编码技术消除不同路径之间的数据依赖性和播放依赖性,任意条网络通道的数据都可以独立或者组合进行传输和播放。通过多条路径互相备份和恢复,该技术能够极大地避免单个网络波动造成的卡顿,实现接近零卡顿的交互效果。
方案概述:两条路径视频帧使用不同编解码器压缩和恢复,当Wi-Fi路径传输的视频帧没有按时到达时,蜂窝路径上的视频帧不需要等待,可以立即解码播放。
传统编码方案的问题在于,视频帧被拆分到不同路径上后会存在严重的“队头阻塞问题”,即快路径的数据要等慢路径的数据到底以后才能解码,因此使用多路径可能比单径卡顿更严重。视频切分联合编码技术可以编码出多条可以独立传输和播放的视频帧序列,任意一组视频序列(一条路径)到达后可以独立播放,极大地提高了抗弱网能力;多条路径的视频帧序列同时到达可以组合播放,极大提升了视频画质。同时,我们还通过联合码控、冗余保护等机制来提高多路编码的编码效率。
视频编码和保护方案
我们将TwinStar集成进云游戏系统并部署在公网环境,测试人员在日常弱网环境中随机进行测试,除了收集客观指标之外,我们还要求测试人员每次测试结束后进行主观体验评价,整个测试周期持续一个月。
客观体验指标:首先,客观体验指标优化显著,部分场景接近零卡顿效果。相比单径传输,TwinStar视频卡顿率-96.82% ,端到端延迟-80.44% 。
公网部署测试客观指标
主观体验评价:在收集的主观评价中,98% 的测试者认为开启多径对体验有改善,其中13% 认为轻微改善,85% 认为有显著改善。同时,测试者反应,越是质量差网络环境下,多径改善程度越显著。
公网部署测试主观评价
基于测试结果来看,该套方案有希望实现多路径传输算法的天花板效果。未来,我们也会进一步探索如何将该套零卡顿方案集成到MultiPath ByteRTC传输架构和线上业务中。
火山引擎多媒体实验室是字节跳动旗下的研究团队,致力于探索多媒体领域的前沿技术,参与国际标准化工作,其众多创新算法及软硬件解决方案已经广泛应用在抖音、西瓜视频等产品的多媒体业务,并向火山引擎的企业级客户提供技术服务。实验室成立以来,多篇论文入选国际顶会和旗舰期刊,并获得数项国际级技术赛事冠军、行业创新奖及最佳论文奖。
火山引擎是字节跳动旗下的云服务平台,将字节跳动快速发展过程中积累的增长方法、技术能力和工具开放给外部企业,提供云基础、视频与内容分发、大数据、人工智能、开发与运维等服务,帮助企业在数字化升级中实现持续增长。
[1] MultiPath TCP - Linux Kernel implementation
[2] "Apple opens Multipath TCP in iOS11", 2017
[3]ChengkeoWang,etal.2023.Experience:A Three-Year Retrospective of Large-scale Multipath Transport Deployment for Mobile Applications. In Proceedings of the 29th Annual International Conference on Mobile Computing and Networking (ACM MobiCom '23).Association0for0Computing0Machinery,0NewYork,NY,USA,Article8,1–15. https://doi.org/10.1145/3570361.3592506
[4] Zhilong Zheng, et al. 2021. XLINK: QoE-driven multi-path QUIC transport in large-scale video services. In Proceedings of the 2021 ACM SIGCOMM 2021 Conference (SIGCOMM '21). Association for ComputingMachinery,NewYork,NY,USA,418–432. https://doi.org/10.1145/3452296.3472893
[5] Yuhan Zhou, et al. AUGUR: Practical Mobile Multipath Transport Service for Low Tail Latency in Real-Time Streaming. 21st USENIX Symposium on Networked Systems Design and Implementation (NSDI 24). 2024.