|
5G 与 AI 时代已来,音视频技术持续迭代升级,网易云信推出了全新一代音视频技术架构。新一代音视频架构有哪些核心技术?各技术在线上场景又有哪些落地实践方案?
网易创新企业大会发布了新一代音视频技术架构,进行了全流程的技术升级,包括新一代音视频融合通信服务端系统、新一代音视频 SDK 以及新一代音视频引擎。本文整理自网易云信流媒体首席架构师、多媒体开发专家吴桐的大会现场实录。
本次分享将从以下几个方面展开:
2020 年注定是不平凡的一年,从年初疫情就已经感受到这个变化,今天能够到场和大家面对面交流也是很不容易的。看到海外人民现在还在水深火热中,我们要感谢祖国的强大。今年新冠疫情的突发,也让音视频业务得到一个井喷式的发展,特别是在家办公期间,视频会议成为每个人的刚需,也培养了用户使用视频会议的习惯。
当然除了疫情以外,5G 的到来以及其大带宽、低延时、海量连接等特点也进一步丰富了音视频的应用场景,不仅在传统的视频会议、娱乐社交、在线教育、金融和 IoT 等场景下继续蓬勃发展,还带动了云面试、云相亲、云游戏等新兴领域。当然,各场景对音视频体验也提出更多差异化的要求:更低的延迟、更高的并发等。视频会议、在线教育和云游戏这几个场景,在未来几年的增幅都非常大,特别是云游戏,在 2023 年会达到千亿的规模,所以我相信未来的音视频行业还将持续高速增长,未来有无限的机会等待音视频行业的从业人员。
随着音视频市场的增长,网易云信也在不断提升自己在音视频领域的核心竞争力。在 5G 和 AI 技术变革的推动下,网易云信在原有音视频架构的基础上迭代升级,推出了新一代音视频技术架构,对音视频全流程都做了重大升级,主要包括三大架构升级,分别是:新一代音视频融合通信服务端系统、新一代音视频 SDK 以及新一代音视频引擎。
首先看一下网易云信在新一代音视频融合通信服务端系统的整体架构图。
在这个框架图中间是流媒体传输和处理服务,涵盖了边缘媒体接入、实时传输网、流媒体处理服务以及直播点播服务。
在新一代架构中,流媒体系统可以兼容各类协议,边缘媒体服务器既支持云信 SDK 的接入,也支持标准 Web 端使用 WebRTC 接入;同时,云信自研了 SIP 网关服务器,实现了 SIP、PSTN 的接入;使用通用媒体网关实现了标准 RTMP 推流工具、小程序、RTSP 监控摄像头的接入。
在边缘媒体服务系统收到各协议客户端的媒体数据包以后,它会借助云信自研的实时传输网的边缘节点和路由节点进行全球的实时媒体数据分发,保证端到端的最优体验。同时利用流媒体处理服务的通用 MCU 和转码服务器,可以将媒体流混合后旁路转推到云信互动直播服务器,再通过云信直播的融合 CDN 系统进行分发;还可以在云端进行录制后,存储到云信的点播服务系统中。
架构图的左侧是全局流媒体控制服务,它包括了:频道与流管理服务、统一媒体调度服务和实时传输网调度服务,它是整个音视频融合通信系统的大脑,由它来动态控制整个系统的运转。
架构图的右侧是云信的大数据与配置服务系统,其中全局大数据分析和挖掘系统,负责全链路采集的数据处理、告警和质量透明,并利用大数据挖掘的结果指导全链路各模块算法和策略的制定。另一个是我们智能全局配置管理和下发服务,负责对各类云端参数的下发,包括 QoS 参数、音视频编解码参数以及 A/B Test 的相关开关。
这里,我们对网易云信的新一代音视频融合系统架构做个总结:
关于新一代音视频 SDK 技术,我们做了很清晰的分层设计,将各个模块做了尽可能的解耦,同时也让更多的基础模块可以下沉,让更多上层模块共用代码;在跨平台封装层抽象各平台的差异,为 SDK 接口层提供统一调用逻辑。
在 SDK 接口封装层,我们坚持每个接口都要简单易用,同时接口之间要尽可能没有过强的先后顺序依赖,降低用户调用顺序不一致导致的异常问题。接口设计的另一要点是:保证全端不管是 Android、iOS、PC 还是 Web,接口统一,多端可以无缝切换开发。网易云信为了让用户更好的使用 SDK,除了文档以外还推出了易用体系,为开发者提供了 Sample Code、行业解决方案 Demo 以及通用的组件,这些都是源码级别的开源,为开发者提供优质的接入体验。
大家都知道要有一个好的音视频体验,优秀的音视频引擎是基石。所以云信在设计新一代音视频引擎时,也是从用户体验 QoE 指标为顶层目标,然后依次向下拆解。
从 QoE 的角度,音频的指标有:是否有卡顿、回声和噪音,音质如何等;视频的指标包括:清晰度、流畅度、色彩和画面观感等;除此之外,端到端的时延和音画同步情况也是非常重要 QoE 指标。
要达到这些 QoE 的目标,引擎核心就很重要了,上图中间部分是云信的引擎核心层,包含了音频引擎、视频引擎、QoS 引擎:
所有引擎核心算法都依赖于引擎平台基础能力。云信自研的轻量级 AI 模型和高性能推理引擎,让各类 AI 算法在 RTC 高实时性场景实现落地,同时,数据采集与挖掘以及标准化评价体系更让所有算法、策略有据可依,让算法与实际效果形成一个完整闭环。我们也会在文章的后半部分进行更深入的介绍。
看完架构升级,到了今天分享最核心的部分,我会分别从新一代音视频融合通信服务端架构、大规模实时传输网、网络 QoS 引擎、视频引擎、音频引擎及全链路数据与质量透明六个方面为大家深度剖析云信新一代音视频架构的核心技术。
第一部分先讲音视频融合通信服务端架构。首先来看服务端架构中服务模块解耦的具体方案,也就是上文提到音视频系统的控制面和媒体转发面解耦。客户端通过信令连接连到边缘的媒体服务器上后,客户端音视频流的发布和订阅的信息都由边缘服务器同步给频道与流管理服务,所有频道业务层面对流的操作都由管理服务器统一处理。
这么做最大的好处就是边缘媒体服务器上没有复杂的频道状态,在多台媒体服务器级联时,无需在媒体服务器之间同步房间以及流的状态和信息,大大降低了级联的难度并减少了各级联的媒体服务器间因状态不同步导致的问题。通过这个方案,我们就可以相对容易的实现千人乃至万人大并发房间。
其次,边缘媒体服务器之间的级联采用的是无向图结构,所有级联的媒体服务器节点都是平等的,没有顶点就不存在单点故障问题,也提高了整个系统的可靠性。
最后,两台媒体服务器的级联,中间链路的路由优化由实时传输网来做,边缘媒体服务器本身并不关心中间路径的规划问题,这么做也进一步解耦了媒体服务器与实时传输网系统,实时传输网也无需关心具体的音视频业务。
新一代音视频融合通信服务端的另一个特点,是将 SFU 和 MCU 做了完美融合。大家应该都知道 SFU 和 MCU 是什么,简单来讲,SFU 在服务器上是转发所有的流给下行的客户端,而 MCU 是把所有流在服务端混合后再下行。
SFU 和 MCU 各有优劣,SFU 服务端简单、客户端布局灵活,但是需要消耗更多流量,也对客户端性能提出更高的要求;MCU 则把编解码的性能转嫁到了服务器上,客户端布局相对固定,但可以节约下行带宽,对客户端的性能开销更友好。
在云信老一代架构中,我们仅支持通过互动直播旁路服务器,将 MCU 流转推给融合 CDN,这样观众能通过播放器拉流来观看,但延迟相比于 RTC 要高得多。
在新一代音视频服务器中,我们将原有互动直播内的 MCU 能力抽离,做成一个通用 MCU 服务器,这样客户端就可以直接向边缘媒体服务器订阅 MCU 流,通过低延迟的 RTC 通道实现 MCU 流的低延迟观看,当然我们也保留了互动直播旁路推融合 CDN 的通道。所有媒体服务器,包括通用 MCU、互动直播和融合 CDN 的调度,均由统一媒体调度服务负责。使用新一代音视频系统用户可以根据自己的场景和实时性要求,灵活选择两种方案。
云信自研的大规模分布式实时传输网作为云信新一代音视频架构服务端的核心部分,今天也是首次对外,我们来具体看看几个部分的技术细节。
通过上图可以看到,两个边缘媒体服务器在需要级联的时候,会通过实时传输网的边缘接入节点将流量导入实时传输网。实时传输网的边缘节点根据实时传输网调度服务的统一调配,通过传输网的路由节点,将数据包以最优路径发送到目的边缘媒体服务器。在这个过程中,实时传输网路由探测和计算服务是链路路由选择且保证最优质量的控制大脑。
这个大规模分布式实时传输网有四大特点:
总结来说,云信自研的大规模分布式实时传输网,支持了大规模级联场景下的应用层组播技术,做到流量复用;同时还借鉴媒体服务器的分段 QoS 思路,支持分段重传和 FEC,保证了全链路的网络传输质量。
我们认为做好实时传输网络,有几个必备条件:
图中就是云信实时传输网中部分节点路径的实时数据,由于节点较多,所以我们主要依赖哨兵报警系统进行链路告警以及系统的自动非优路径剔除功能,来保证实时传输网的自动运维。
要做好传输,仅有好的节点是不够的,我们还要有好的 QoS 引擎。
做音视频或者做流媒体的同学对 QoS 应该是耳熟能详的。我们主要通过以下六个方面展开详细分析。
看完了这些技术,我们看一个效果:视频中分别是没有任何抗丢包机制,单独加上 ARQ 机制,单独加上 FEC 机制,融合 ARQ 和 FEC 的 HARQ+视频长参考帧机制的实际效果,可以看到右下角的画面是没有任何卡顿的,效果还是比较明显的。(插入视频)
在带宽估计方面,我们融合 GCC、BBR 以及 PCC 的思想,做了很多算法和策略上的改进。在线视频会议的场景下,做到用户在入会 1 ~ 2 秒内完成带宽快速探测,达到秒开秒清晰。在带宽有限的情况下,带宽利用达到 90%+:
一般的拥塞控制算法优化流程,都是以实验室环境为准,这个存在很大局限性。特别是真实中的网络环境非常复杂,容易受到 WIFI 信号、流量竞争等多种因素的影响。为了解决这个问题,云信设计了一套基于大数据驱动的拥塞控制算法优化方案。我们在线上全链路进行数据采集,并把采集到的数据进行特征提取,然后用这个特征在实验室内仿真线上网络环境,然后进行拥塞控制算法的调优和效果验证。最后通过 A/B Test,在线上验证算法优化前后的大数据对比进而持续对拥塞控制算法做优化,形成一种良性的闭环。
聊完 QoS 引擎,我们接着来看视频引擎。
视频引擎中最核心就是视频编码技术,云信自研了视频编码器 NEVC。
如上表,是我们的实测结果:NEVC 与 X264 faster 档直接对比,速度相当,但是压缩率提升了 30%。
与 x265 veryslow 档对比,压缩率相当,但是速度提升了至少 50 倍以上,在某些 Case 下速度最快还可以达到 80 倍。
NEVC 是云信视频引擎的基石,在它的保驾护航下,终端的性能以及全链路的视频效果都有了极大的提高。
除了视频编码以外,云信还针对屏幕共享部分做了专项优化。接收侧在收到包含桌面共享的视频后,首先通过文字识别找出文字区域,对文字区域进行 AI 深度学习优化,让文字更清晰,利用云信自研的轻量级深度模型,在异构加速的配合下,可以做到 1080p 实时优化,大大提高了云信在屏幕共享场景下的效果。
接着看云信自研的 AI 超级分辨率,其实超分这个话题这几年一直都很热门,但是真正将超分落地到 RTC 实际场景的却很少,主要的原因是要在移动端上实现超分的低功耗和高实时性的难度较大。
云信基于自研的轻量级网络,配合上异构的高性能推理引擎,可以做到超低功耗,让超分算法开销大大降低,从而在移动端上真正落地。依赖云信独有的数据集处理技术,在同样网络模型下超分效果更好,相比与其它的上采样插值算法,云信自研的 AI 超分的 PSNR 和 SSIM 得分都更高。云信将 AI 超分真实应用在线上场景,在上行弱网下调分辨率的情况下,在接收端利用AI超分提升视频画面质量,让视频得到了明显的效果提升。
上图为左边 360P 超分到 720P 真实测试效果,肉眼可见的,超分后清晰度的提升是非常明显的。
看完了视频引擎,接着我们来看看云信新一代音视频中的音频引擎。
这是云信新一代音频引擎处理的流程图,这个图很复杂,包括里面涉及的技术点有很多,我们展开分析其中几个重要的技术点。
首先是 3A 算法,对于音频引擎来说,3A 算法永远都是重中之重。对回声消除来说,新一代音频引擎除了在原有的线性滤波器和 NLP 上的优化外,还加入了自研的双讲检测和 Noise Injection,进一步的提升了AEC在更多场景下的效果。
对于降噪,我们将降噪流程模块化后,在场景检测分类上是采用了 AI 模型算法来做,分别训练了语音的 AI 模型和噪声的 AI 模型,让噪声识别的性能大大提高,也让我们基于 AI 的降噪算法相比于传统降噪效果有了明显的提升。除了场景检测和降噪结合了 AI,我们还有很多其他模块与 AI 进行了深入的融合,而这些 AI 算法都是基于云信自研的轻量级网络模型和高性能推理引擎,算法性能大大提高。
音频算法另一个重要的点就是要做机型适配,我们依赖云信的大数据采集和无参考打分系统,在云端做了大量的自动机型适配工作,大大提高了机型适配的效率以及覆盖。为了进一步量化语音的高音质,我们制定了实验室标准评价体系,这个评价标准综合用了客观指标和主观的方法,通过这套评价体系,让我们的音频算法优化和量化指标可以成为一个良性的闭环,不断打磨提升云信的音频质量。
最后一个和大家介绍的新一代音视频核心技术是数据与质量透明体系。大家都知道现在是一个大数据时代,我们认为做好大数据驱动对于音视频技术持续演进来说极其重要。所以,为了做好大数据驱动,我们从 SDK、引擎、调度服务器、频道与流管理服务器、边缘媒体服务器、实时传输网,也就是音视频业务的每一个环节都做了数据采集上报。
实时指标上报指将实时的状态进行上报,这里涵盖了 100+ 的关键事件,包括用户行为、各系统行为、QoS 行为还有很多音视频 QoE 体验相关的关键事件,比如:分辨率切换、登录耗时、出图时间等等;还上报了 300+ 的核心指标,这些指标包括:全链路的系统运行时状态,QoS 指标,QoE 指标以及服务端状态。这些上报的数据都会经由我们大数据平台进行处理,日均有百亿行的数据,有 T 级的存储。利用我们的高性能大数据平台,可以实现秒级实时处理这些数据。
有了这些数据后,我们可以驱动很多事情,包括质量透明平台(对用户开放)、业务质量报表、产出接入调度优化、大网路由优化、QoS 算法优化、QoE 故障实时告警、各维度聚合质量分析。云信新一代音视频,就是在源源不断的大数据驱动下,不断打磨,提升自身的质量。
上图为云信对用户开放的质量透明平台,这个平台对各个指标做可视化展示,各个质保的含义清晰易懂,大大降低了用户问题排查难度,让用户对于全链路的质量都很明确。
除此之外,这些指标的描述我们都尽可能清晰易懂,全链路中的各个指标均清晰可见,不管是实时传输网、媒体边缘服务器以及媒体网关处理的实时效果在质量透明大盘上均有直接的图形展示。
分享了核心技术,最后一部分看一下实际的落地场景。即便有再好的技术,如果没办法落地是没有用的。所以我们一直坚持在实际的场景里面不断打磨具体的算法。
这是网易云音乐一起听的场景,网易云音乐在今年七月份上线了“一起听”:你可以邀请你的好友一起听歌,同时可以进行实时音频互动,这是一个完全创新的音乐社交体验,云信新一代音视频的很多核心技术都在这个场景下落地:
通过这些核心能力,网易云信新一代音视频保证了网易云音乐一起听场景的稳定、可靠和高质量。
网易云音乐的 Look 直播,是主播之间直播连麦的场景。
通过以上两个场景的落地,云信也建立了完整的泛音乐娱乐生态。
配音秀是一款多人语聊配音类 App,是一个多人语音连麦互动直播的场景,这个场景相对比较复杂,有以下几点值得关注:
10月24日,网易在逆水寒云游戏中举办了第二届国际分布式 AI 大会,每场会议 300 人参会,云信为逆水寒提供了云游戏视频会议组件化的支持。
这次云信会议得到了海内外参会者的一致好评。其实,云信也提出了视频会议组件,这些组件帮助用户实现视频会议场景的时候是非常易于实现的。我觉得这些内容都是云信在帮助网易内部还是外部落地场景的时候做的思考和总结。
以上就是今天分享的全部内容,做个简单的总结。
今年网易提出“从0到1是创新,从1到1.1也是创新“的价值观,网易云信音视频已经走过0到1,新一代音视频要做的就是从1到1.1。我们想要陪伴着客户一起成长,不断精细打磨各个垂直场景,在当前从红海中破浪前行。
在今天的分享中,我相信你已经看到,网易云信已经在音视频全链路各环节拥抱 AI 技术,因为我们相信人工智能改变现有技术体系,而我更坚信技术是可以改变世界,音视频领域未来有无限可能!
谢谢大家!
吴桐,2013年浙大硕士毕业后加入网易,一直从事流媒体音视频相关的工作,现为网易云信流媒体首席架构师、多媒体开发专家,负责整体 RTC、直播、互动直播、传输大网及架构的设计和代码编写,从零开始参与打造云信的音视频技术。