阿里妹导读:在阿里,音视频会议已经成为跨地区沟通、开会以及招聘的首选方式。据悉,目前阿里巴巴的办公网络与音视频会议已经覆盖全球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,用户的最终体验不是简单的抗丢包率、卡顿率的指标,而是端到端的体验。所以不仅需要我们在事先创造一个良好的音视频环境,更需要我们对整体链路进行质量监控。除了能及时发现问题,快速响应外,还能帮助我们不断发现与创造更多新业务场景。通过把业务数据化,再根据数据来指导业务,这样才能让音视频的服务体验达到极致。

本文作者:致凡

阅读原文

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

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

  1. 互联网日报 | 京东PLUS会员数超2000万;滴滴实时公交业务覆盖超80城;小米数科品牌升级天星数科...

    今日看点 ✦ 小米数科品牌升级为天星数科,战略聚焦产业数字金融 ✦ 京东PLUS会员数超2000万,预计今年双11为会员省160亿元 ✦ 滴滴实时公交业务覆盖超80城市,用户可轻松"掐点&q ...

  2. B站COO李旎:超2000万人在B站看纪录片

    5月29日,哔哩哔哩副董事长兼COO李旎在2019网络视听大会上对外披露,过去一年B站活跃的纪录片观众超2000万人. 根据B站的统计,今年5月,B站纪录片的日均流量同比增长264%,日均覆盖人数同比 ...

  3. 超全总结 | 阿里电商故障治理和故障演练实践

    超全总结 | 阿里电商故障治理和故障演练实践 本次分享包括两个部分:第一部分会从分布式系统经典依赖故障出发,剖析故障成因,介绍治理方案和技术演进:第二部分从宏观视角探讨构建一套"防故障&qu ...

  4. 互联网日报 | 美团市值超2000亿美元;蚂蚁集团完成A股上市辅导;微博快手纷纷宣布收购KPL战队...

    今日看点 ✦ 蚂蚁集团完成A股上市辅导,董监高名单首次披露 ✦ 美团市值超2000亿美元创新高,王兴身家突破200亿美元 ✦ 华为9月3日将举办IFA主题演讲,或公布麒麟9000芯片 ✦ 微博收购TS ...

  5. 双十一发货超2000万件,极智嘉(Geek+)柔性方案从容应对购物狂欢节

    双十一狂欢节过后,各大企业.品牌捷报频传,相关行业也迎来一年一度业务高峰.我国智慧物流领域TOP级企业.全球AMR引领者极智嘉(Geek+)于11月12日正式宣布,旗下极智嘉RaaS智能仓在数十万平的 ...

  6. 【免费报名】与阿里云一同探索视频云的新技术与新场景

    视频云驱动着下一代技术浪潮的到来,在视频形态泛在化的今天,诸多云上新场景被创造.阿里云着眼于数字经济基础设施的建设,极力推动各行业的视频化,促进行业的第二增长曲线. 活动介绍 10月30日 | 北京  ...

  7. mybatis generator使用_SpringBoot整合Mybatis实现自动生成代码 || 附阿里P8独家SpringBoot视频资料...

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. MyBatis 可以使用简单的 XM ...

  8. 阿里云服务器搭建视频

    本文为阿里云服务器搭建视频,至今为止这两个链接可使用,若链接失效,请联系博主 qq 849450693,我是java共享者,共创java未来!! 链接: https://pan.baidu.com/s ...

  9. react项目中使用阿里播放器播放视频,包括切换视频,播放定时跳转(兼容ios和andro),播放完成

    react项目中使用阿里播放器播放视频,包括切换视频,播放定时跳转(兼容ios和andro),播放完成 1.index.html引入阿里播放器的cdn <link rel="style ...

最新文章

  1. Linux学习之系统编程篇:单个线程的退出函数
  2. CVE-2019-15107 Webmin远程命令执行漏洞复现
  3. vim关于python的自动补全插件
  4. 关于transformer是如何处理图像的
  5. 会畅通讯登陆创业板上市,CEO黄元庚说云视频是下一个万亿级市场
  6. Python数据结构与算法(2.7)——跳表
  7. 从零实现深度学习框架——实现常见运算的计算图(上)
  8. 二年级孩子适合学C语言吗,小孩子适合学习编程吗?孩童时期对变成的接受程度有多少呢?...
  9. python UDP Socket编程
  10. python 取数组最后一个_在numpy数组中查找最后一个值
  11. 博客文章分类与标签的区别与联系
  12. Mob免费验证码androidStudio实现
  13. 用Flash做点击页面图片切换效果的超级详细教程
  14. 24点游戏的递归解法和Python实现
  15. 20154312 曾林 ExpFinal CTF Writeup
  16. 树莓派3b+快速编译opencv成功案例指导(保姆级教程)
  17. python国际化课程capstone(ML预测ACM队员获奖概率)
  18. Lightly:新一代的 C++ IDE
  19. 解决windows hello指纹识别无法使用
  20. HTC Ubuntu 解锁

热门文章

  1. Dealing with InterruptedException
  2. Golang访问Redis初体验
  3. 挑灯熬夜看《Build 2015 Keynote》图文笔记
  4. FreeBSD下安装配置Hadoop集群(三)
  5. java -Djava.library.path -Djava.ext.dirs 的区别
  6. 《软技能:代码之外的生存指南》一一11.1 明智的处理方式
  7. Android NDK开发-3-环境搭建
  8. 重复调用的代码块——方法
  9. 毕飞宇:我是靠阅读支撑起来的作家 因为生活没有给我那么多
  10. Spark LogisticRegression 逻辑回归之建模