阿里妹导读:在阿里,音视频会议已经成为跨地区沟通、开会以及招聘的首选方式。据悉,目前阿里巴巴的办公网络与音视频会议已经覆盖全球33个国家和地区,其中,音视频会议在过去3个月平均天天召开超过2000余场。在使用如此频繁、覆盖面如此之广的音视频场景中,如何知足全球各地使用者的不一样需求,保障交流的顺畅?下面,咱们一块儿来探讨、研究。算法
音视频行业发展迅速,经历了1970年代的黑白时代、1980年代的数字化时代、1990年代的数字标清时代、2006-2015年代的高清时代,2016年逐步开始以融合通讯为主的行业趋势,高质量(4K,高清,高帧率,HDR)、多场景(点播,直播,实时通信)、云化(硬件软件化,平台云化)和行业化已经成为当下音视频行业的发展趋势。服务器
音视频行业将来的发展趋势,在我看来就是云+端+服务。网络
云:平台云化,从PaaS到SaaS,从私有公有云,一切都是基于云的服务。架构
端:兼容各类终端,PSTN和VOIP,会议室设备,手机,PC,Web,Android终端等。机器学习
服务:包括短信,语音,IM,音视频,呼叫中心,云客服和附加AI服务等多种服务。ide
目前,音视频已普遍应用于包括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多倍。这些极端的网络状况对音视频的传输和用户体验来讲,都是极大挑战。
网络和音视频流量的供求矛盾,网络传输的不肯定和不完善的残酷现实,倒逼着咱们不断完善和监控音视频服务。
音视频内容从生产到消费的过程会经历不一样环节,且链路较长,其中涉及的技术也较多,下面将主要对其中的视频编码,网络构架进行解析。
视频编码标准的选择
视频编码标准做为视频技术的核心,在过去几个世纪出现过不少不一样标准,但最终被市场采纳主要为如下两套体系:一套是标准化体系的H26四、H265 和正在制定中的VVC;另外一套是开源无版税的VP八、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,用户的最终体验不是简单的抗丢包率、卡顿率的指标,而是端到端的体验。因此不只须要咱们在事先创造一个良好的音视频环境,更须要咱们对总体链路进行质量监控。除了能及时发现问题,快速响应外,还能帮助咱们不断发现与创造更多新业务场景。经过把业务数据化,再根据数据来指导业务,这样才能让音视频的服务体验达到极致。
本文来自云栖社区合做伙伴“ 阿里技术”,如需转载请联系原做者。