乐趣区

一天超2000次,阿里如何打响音视频超时空战役?

阿里妹导读:在阿里,音视频会议已经成为跨地区沟通、开会以及招聘的首选方式。据悉,目前阿里巴巴的办公网络与音视频会议已经覆盖全球 33 个国家和地区,其中,音视频会议在过去 3 个月平均每天召开超过 2000 余场。在使用如此频繁、覆盖面如此之广的音视频场景中,如何满足全球各地使用者的不同需求,保障交流的顺畅?下面,我们一起来探讨、研究。

音视频行业的发展
音视频行业发展迅速,经历了 1970 年代的黑白时代、1980 年代的数字化时代、1990 年代的数字标清时代、2006-2015 年代的高清时代,2016 年逐步开始以融合通信为主的行业趋势,高质量(4K,高清,高帧率,HDR)、多场景(点播,直播,实时通讯)、云化(硬件软件化,平台云化)和行业化已经成为当下音视频行业的发展趋势。
音视频行业未来的发展趋势,在我看来就是云 + 端 + 服务。
云:平台云化,从 PaaS 到 SaaS,从私有公有云,一切都是基于云的服务。
端:兼容各种终端,PSTN 和 VOIP,会议室设备,手机,PC,Web,Android 终端等。
服务:包括短信,语音,IM,音视频,呼叫中心,云客服和附加 AI 服务等多种服务。
目前,音视频已广泛应用于包括 B2B(企业与企业间、企业内部间)、C2C(用户与用户间),以及 B2C(企业和用户间)。
根据著名 Cisco 的 VNI(Virtual Network Index)预测,到 2021 年,地球上将有 46 亿互联网用户,271 亿联网设备,82% 互联网的流量是视频。每一秒钟将会有一百万分钟的视频内容被创建,其中 4K 高清的内容会增加 30%,相当于每个月生成 71 亿部 DVD 影片,直播的需求也会大幅增长 15 倍。
从视频本身发展的趋势看也是一路狂奔向高清、CIP、4CIP、720P、1080P、UHD4K 和 8K;加上高帧率 FPS 120-160FPS、HDR(High Dynamic Range)、宽色域(Wide Color Gamut),一切发展变化都是为了给人一种身临其境的 Immersive 体验。当然还有 VR、AR、360 视频,这所有的一切都意味着更多的视频数据流将被生成和消费。
网络环境让我们需不断完善音视频服务
如果网络带宽是无限且畅通无阻的,那世界将是多么美好。但网络并不是一马平川的。有时像十一长假堵车,有时像乡间泥泞小道,而且还有可能布满大坑。
根据 Silver-Peak 跨美国和欧洲的网络健康报告发现,网络传输的延时、抖动和丢包是普遍存在现象。有时网络状况就像天气一样令人难以捉摸。虽然网络的平均丢包率只有 0.34%,但个别情况下可以达到 2.2%;而且丢包从来都不是均匀的,是突发性的 Burst,网络延迟可能会超过平均值 300 多倍。这些极端的网络情况对音视频的传输和用户体验来说,都是极大挑战。
网络和音视频流量的供求矛盾,网络传输的不确定和不完善的残酷现实,倒逼着我们不断完善和监控音视频服务。
音视频内容从生产到消费的过程会经历不同环节,且链路较长,其中涉及的技术也较多,下面将主要对其中的视频编码,网络构架进行解析。
视频编码
视频编码标准的选择
视频编码标准作为视频技术的核心,在过去几个世纪出现过很多不同标准,但最终被市场采纳主要为以下两套体系:一套是标准化体系的 H264、H265 和正在制定中的 VVC;另一套是开源无版税的 VP8、VP9 和 AOM(Alliance for Open Meida) 的 AV1。
阿里巴巴是 AOM 的成员也同时积极参与 VVC 的制定,对于视频编码的核心不能被掐住发展的咽喉。
针对不同场景的不同编码需求
视频不同的应用场景(如:点播、直播、实时通讯),决定了在每一个应用场景底下对编码的不同需求。
对点播而言最重要的是编码效率,如何有效节约带宽。直播对延时有要求,但是是在秒级的,对编码的速度和稳定性的需求也比点播高。实时通讯对“点对点”的延时要求最高,同时它对稳定性和容错性的要求也很高,这需要通过平衡编码效率来实现。
如何配对编码率与分辨率
视频编码以前简单地采用固定压缩参数,固定码率和固定分辨率,对于 HLS 和 MPEG-DASH 的 ABR(Adaptive Bitrate),也用固定编码率和分辨率来配对。这就无法满足不同视频对码率的不同需求。1M 的 720P 动画片看起来可能已经不错了,但是 1M 的 720P 动作片看起来就会很糊。
但对于 ABR,编码率和分辨率也是一个动态平衡的过程。在低码率的情况下用低分辨率以减少块状效果(blocking effects),当码率的提高到一定程度时提升分辨率,包围不同分辨率 RD 曲线的就是凸包(Convex Hall)。曲线中的交叉点就是理性的编码率和分辨率配对。
如何确定视频质量的衡量指标
但怎么确定曲线中的交叉点呢?这需要有衡量视频质量的指标。
通常的视频指标包括主观的 MOS 分和客观指标比如 PSNR,SSIM 和 VMAF。阿里巴巴的视频质量指标,不但结合了通用的客观指标,也同时考虑了影响播放质量的的卡顿和网络状况。
如何进行自适应编码
自适应编码(Content Adaptive Encoding)是视频编码的一大趋势。从 One-size-fit-all 的单一编码参数、码率和分辨率配对,到根据视频内容的复杂度进行定制化的编码参数适配。自适应编码可以针对单个视频、场景、GOP,甚至是 Frame 用不同的压缩参数进行动态调整,这样最大限度优化视频质量、节约带宽。这种自适应优化最重要的就是视频质量的衡量指标。一旦定义好可用的指标,就可以围绕它进行不同层次的优化。
对于自适应编码,机器学习可以大有用处。比如利用机器学习针对不同的视频特征,找到对应优化的编码参数。
人脑占人身体的比例不大,但是消耗人体大约 1 / 3 的能量,人的基因特性决定了大脑只会关注画面中重要区域,忽略不重要的区域。利用这种 ROI(Region of Interest)进行编码,就可以在保持视频主观质量的情况下减少编码率。比如人脸和文字是经验意义下的 ROI 的例子。
音视频服务器网络架构
实时音视频服务器的网络架构,除了 MESH 外,还有 MCU(Multi-point Control Unit)和 SFU(Selectiveforward Unit) 两种。
MCU 是集中的媒体处理服务,优势在于可以对媒体和信令进行控制和转换,如对媒体进行转码、转流、混屏、分流,对信令进行转换,对媒体包进行路由优化等等。MCU 可以减低 Client 端的 CPU 和对网络带宽的需求,但是 MCU 的缺点也较明显,那就是服务器 CPU 的开销以及带来的延迟。
相对 MCU 来说,目前更流行的架构是 SFU,它主要的好处是简单、低时延、高吞吐,缺点是对 client 端的带宽要求比较高,client 上传一路或者多路流同时下载多路流。SFU 的客户端可以发单流、多流(Simulcast)和 SVC。根据运用场景的不同,客户端发流策略也不同。
在阿里巴巴的音视频会议系统中,采用的是一种 SFU+MCU 的混合模式,以保证最大的兼容性。这种 SFU 和 MCU 级联的策略保证对各类客户端的最大灵活性。此外媒体服务器在不同区域可以进行级联,客户端就近入会、就近补包,减低第一公里和最后一公里对音视频质量的影响。
网络带宽评估
网络带宽评估是实时通话的关键技术。阿里巴巴在这方面进行了很多针对会议室场景的优化。并且通过评估算法可以在服务器端快速发布,不用等待更新客户端软件。
在弱网不可避免的情况下,通过合理的带宽分配,确保音频优先传输,同时及时把弱网信息传达给用户,同样可以得到用户理解,提升用户体验。
后记
音视频提供的是服务,不是单点的 QoS,用户的最终体验不是简单的抗丢包率、卡顿率的指标,而是端到端的体验。所以不仅需要我们在事先创造一个良好的音视频环境,更需要我们对整体链路进行质量监控。除了能及时发现问题,快速响应外,还能帮助我们不断发现与创造更多新业务场景。通过把业务数据化,再根据数据来指导业务,这样才能让音视频的服务体验达到极致。

本文作者:致凡阅读原文
本文来自云栖社区合作伙伴“阿里技术”,如需转载请联系原作者。

退出移动版