一天超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,用户的最终体验不是简单的抗丢包率、卡顿率的指标,而是端到端的体验。所以不仅需要我们在事先创造一个良好的音视频环境,更需要我们对整体链路进行质量监控。除了能及时发现问题,快速响应外,还能帮助我们不断发现与创造更多新业务场景。通过把业务数据化,再根据数据来指导业务,这样才能让音视频的服务体验达到极致。

 


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java pppoe_PPPoE拨号流程

PPP会话的建立,需要两端的设备都发送LCP数据包来配置和测试数据通信链路。用户主机与接入集中器根据在发现阶段所协商的PPP会话连接参数进行PPP会话。一旦PPPoE会话开始,PPP数据就可以以任何其他的PPP封装形式发送。所有的以太网帧都是单播的。PPPoE会话…

Flutter路由管理代码这么长长长长长,阿里工程师怎么高效解决?(实用)

背景: 在flutter的业务开发过程中,flutter侧会逐渐丰富自己的路由管理。一个轻量的路由管理本质上是页面标识(或页面路径)与页面实例的映射。本文基于dart注解提供了一个轻量路由管理方案。 不论是在native与flutter的混合工程&…

用PyTorch创建一个图像分类器?So easy!(Part 1)

经过了几个月的学习和实践,我完成了优达学城网站上《Python Programming with Python Nanodegree》课程的学习,该课程的终极项目就是使用Pytorch为102种不同类型的花创建一个图像分类器。 在完成这个项目的过程中,我和其他学员一样&#xff…

阿里上市,四大洲8个国家的十位代表敲锣;全球首款支持5G双卡双待的芯片发布;撕裂者3990X:桌面史上第一次64核128线程……...

关注并标星星CSDN云计算速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周两次,打卡即read更快、更全了解泛云圈精彩newsgo go govivo X30新细节曝光:搭载潜望式超远摄支…

支付宝客户端架构分析:自动化日志收集及分析

小蚂蚁说: 《支付宝客户端架构解析》系列将从支付宝客户端的架构设计方案入手,细分拆解客户端在“容器化框架设计”、“网络优化”、“性能启动优化”、“自动化日志收集”、“RPC 组件设计”、“移动应用监控、诊断、定位”等具体实现,带领…

在Kubernetes上运行区块链服务(BaaS)

本文是在2018年11月15日由Linux基金会CNCF主办的KubeCon & CloudNativeCon China 2018大会的“Running Blockchain as a Service (BaaS) on Kubernetes”演讲内容基础上整理而成,从技术上介绍了阿里云如何将基于区块链Hyperledger Fabric的BaaS和容器集群技术Ku…

RabbitMQ 镜像集群之同步策略_专栏讲解

文章目录一、 基础知识汲取1.1. 镜像集群简述1.2. 策略参数说明1.3. 策略案例二、HA mode 同步方式2.1. 参数说明2.2. 案例2.3. 命令终端形式2.4. MQ管控台设置2.5. 队列同步2.5. 优缺点三、Ha async mode 同步方式(推荐使用)3.1. 参数说明3.2. 案例3.3.…

bug要改一天?

大家应该都听过下面的一个段子~女生:亲爱的,我来亲戚了男生:多喝热水......女生:我好像要感冒了,亲爱的~男生:多喝热水......女生:我现在好难受哦,快撑不下去了男生:多喝…

新手也能看懂,消息队列其实很简单

本文内容思维导图: 消息队列其实很简单 “RabbitMQ?”“Kafka?”“RocketMQ?”...在日常学习与开发过程中,我们常常听到消息队列这个关键词。我也在我的多篇文章中提到了这个概念。可能你是熟练使用消息队列的老手&am…

如何去设计前端框架能力?星巴克消息开放项目从0到1,从点到面的思考

本文由淘宝前端工程师罗嗣分享,主要讲述了作者在星巴克消息开放项目中的总结和思考,希望对大家有帮助,让业务分享更加有价值。 从满足星巴克项目需求单点出发,发散到从点到面的思考。从而总结了自己思考的基本流程(方法…

如何在springboot中使用PageHelper分页插件

文章目录1. pom依赖2. yml3. 实体类4. mapper映射文件4. mapper接口5. service接口6. 实现类7. controller8. 浏览器验证使用思路: 1.引入myabtis和pagehelper依赖 2.yml中配置mybatis扫描和实体类 3. 这2行代码 pageNum:当前第几页 pageNum:…

6.6折票仅剩3天 | BDTC 2019全日程公布,哪些是你感兴趣的话题?

2019年12月5-7日,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN、中科天玑数据科技股份有限公司协办的中国大数据技术大会(BDTC 2019)将于北京长城饭店隆重举行。届时,超过百位顶尖技术专家将齐聚于…

java线程条件变量_使用条件变量(多线程笔记)

条件变量属性:使用条件变量可以以原子方式阻塞线程,知道某个特定条件为真为止。条件变量始终与互斥锁一起使用。使用条件变量,线程可以以原子方式阻塞,知道满足某个条件为止。对掉件的测试时在互斥锁的保护下进行的。如果条件为假…

用PyTorch创建一个图像分类器?So easy!(Part 2)

在第一部分中,我们知道了为什么以及如何加载预先训练好的神经网络,我们可以用自己的分类器代替已有神经网络的分类器。那么,在这篇文章中,我们将学习如何训练分类器。 训练分类器 首先,我们需要为分类器提供待分类的…

涨姿势,一个通信项目从开始到结束,原来还包括这些工作

戳蓝字“CSDN云计算”关注我们哦!作者 | 小枣君责编 | 阿秃本月12日,中国移动31个省的通信工程设计与可行性研究集采正式启动。这次集采规模庞大,涵盖了无线网(5G、FDD、NB等)、核心网、承载网、支撑网等专业方向,预估基本规模超4…

听说支付宝有一个“疯起来连自己都打”的项目

小蚂蚁说: 自古红蓝出CP,在蚂蚁金服就有这样两支“相爱相杀”的队伍——红军和蓝军。蓝军是进攻方,主要职责是挖掘系统的弱点并发起“真实”的攻击,俗称“找茬”;红军则是防守方,其防控体系建设中的实时核…

蚂蚁金服红蓝军技术攻防演练究竟有多“狠”

如果一个技术团队不干别的,专门“搞破坏”,这是一种怎样的存在?这真的不是“天方夜谭”,在支付宝确实有这么一支队伍——技术蓝军。蓝军的任务就是不断地攻击和进攻,而防守方则是技术红军。在支付宝,蓝军从…

阿里巴巴在内蒙古旱区试水物联网灌溉技术,一年省出1.5个西湖

阿里巴巴正用物联网技术解决干旱地区的灌溉问题,通过搭建农业物联网平台,全面监测农作物的生长状态,从而匹配最节约的灌溉方案。12月19日试验区研究人员得出预测结果:一年可以省出1.5个西湖的水。 一直以来干旱是困扰人类的重要环…

网易考拉在服务化改造方面的实践

导读: 网易考拉(以下简称考拉)是网易旗下以跨境业务为主的综合型电商,自2015年1月9日上线公测后,业务保持了高速增长,这背后离不开其技术团队的支撑。微服务化是电商IT架构演化的必然趋势,网易…

Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号

ojdbc6.jar下载 Oracle官方宣布的Oracle数据库11g的驱动jar包是ojdbc6.jar ojdbc6.jar下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html (Oracle Database 11g Release 2 (11.2.0.4) JDBC Drivers & UCP Do…