写在前面:在人类的历史长河中,信息的传递从古代的信鸽、驿站,再到近代的电报、邮件、有线电话、电视,最后到现代的移动电话、文字聊天、音视频实时通话,信息的传递延迟要求变得越来越接近实时、更丰富、更有沉浸感。因此,诞生了以RTC(Real-Time Communication)为代表的技术,可以实现超低延时信息的传递和沟通,让我们可以在元宇宙世界里,“海上生明月,天涯共此时”,彼此虽远隔千里,却可以“欢聚一堂”共赏星空皓月。
作者:刘倍余
首发公众号:咪咕灯塔
编辑:毕蕾
审核:单华琦、邢刚
原标题:《天涯共此时:浅析RTC技术及应用实践》
背 景 篇
RTC概念
RTC(Real-Time Communication)意为实时通信,是一项已发展十余年的技术,主要是以语音、视频、网络电话作为通信主体,通常不要求完全必达,以RTP/RTCP、UDP作为主要数据传输协议,同时也具备TCP传输能力。在熟悉RTC技术之前,我们首先了解下RTC与IM(即时通讯,Instant Message)、WebRTC、实时音视频、实时互动几个常用概念的区别。
IM主要是指以文本、短语音、文件等内容为主的信息传递,通常要求信息必达,以TCP/UDP作为主要传输协议。
WebRTC(Web Real-Time Communications,Web 实时通信),目前作为网页端实时通信的标准,已得到各个浏览器厂商的广泛支持,提供了基础的前端功能实现,WebRTC并不等同于RTC,而是RTC技术栈中的重要组成部分。
实时音视频则是RTC技术在音视频领域最常见的应用场景。
实时互动则是将RTC技术和IM、美颜特效、语音特效、AI智能处理、互动白板、转码推流、内容审核等多种核心能力集成在一起形成的以超低延时、强互动为主要目标的技术场景化集合,RTC技术是实时互动的重要组成部分。
发展简史
回顾RTC技术的发展历程,自1995年,首款基于VoIP(Voice over Internet Protocol)的通信产品诞生,实现了基于IP传输的语音通话和多媒体会议。到1999年,GIPS(Global IP Solutions)利用PC计算能力对声音算法进行创新,为互联网通信提供新引擎,并陆续向QQ、Skype、Webex等产品提供音频引擎。到2010谷歌收购 GIPS并于2011年更名为WebRTC进行开源,实现了视频流、音频流或者其他任意数据在浏览器之间的点对点连接传输。再到2014年,全球首个商用实时音视频传输网络RTN(Real-time Network)开始搭建,使用边缘计算节点与智能路由提升通信传输效率,为RTC大规模实时互动提供网络保障。再到2021年万维网联盟(W3C)和互联网工程任务组(IETF)宣布WebRTC成为官方标准,成为线上通信及协作服务的基石。在新冠疫情的推动下,RTC技术更是在直播连麦、远程教育、线上会议、电商直播、游戏直播、云游戏、远程控制等场景下得到了极大程度的推广和普及应用,目前RTC技术已快速渗透到各行各业中。
技 术 篇
互动直播系统架构
前面提到了RTC技术在很多种场景下都得到了运用,本篇文章将主要从音视频通话和连麦的角度来探讨RTC关键技术。接下来,我们了解下RTC技术在互动直播应用中的角色,如图1所示:
图1 互动直播系统整体架构图
图1为典型的互动直播整体架构图,包括直播平面、互动平面和调度平面,RTC系统主要包括调度平面和互动平面,主要负责实时音视频流的接入和转发,以满足超低延时音视频互动能力,再将RTC媒体流混合后转推到CDN网络(步骤4、6),以满足弱互动性、高并发、低成本的直播观看能力。
RTC实时音视频系统整体架构
接下来,我们再来看一下典型的RTC实时音视频系统整体架构情况,如图2所示:
图2 RTC实时音视频系统整体架构图
RTC实时音视频系统整体架构主要包括图2中的RTC平台层和资源层,RTC平台层又包括SDK能力和后台服务能力两部分,SDK能力主要包括底层能力层和各平台封装层两部分;后台服务能力主要包括适配网关、调度系统、信令系统、媒体转发系统、后台管理、混流转推、大数据分析、运维监控管理等等。资源层包括云主机、物理机、网络、存储、DNS等等。
生产消费流程
接下来,我们再来看一看RTC实时音视频系统中数据的生产消费流程,如图3所示:
图3 RTC音视频数据生产消费流程图
从发送端数据的采集开始到接收端数据的渲染播放,整个流程要先后经过采集、前处理、编码、传输、解码、后处理、渲染播放等环节。其中采集、前处理、编码、解码、后处理、渲染播放在RTC SDK终端完成,传输环节由RTC SDK终端和RTC后端媒体转发系统共同完成。
采集环节主要包括音频采集、视频采集、文件采集等;前处理环节主要包括视频美颜、视频滤镜、音视频识别、音频3A、音频特效等;编码环节主要包括编码器类型选择、编码参数调控、编码策略控制等;传输环节相对比较复杂,既包括客户端SDK数据的发送和接收,还包括数据在RTC媒体网络中的转发和质量反馈,涉及到ARQ(Automatic Repeat-reQuest,自动重传请求)、FEC(Forward Error Correction,前向纠错)、JitterBuffer(视频网络抖动缓冲器)、NetEQ(Network Equalizer,音频网络抖动缓冲器)、PacedSender(平滑发送控制器)、GCC(Google Congestion Control,拥塞控制算法)等多种网络传输关键技术;解码环节主要包括解码器类型选择、解码参数调控、解码策略控制等;后处理主要包括音画同步、音频3A、音频混音等;渲染播放主要包括音视频的即时渲染、GPU渲染等。
调度系统
RTC调度系统的本质是在实时音视频数据传输的质量、传输成本、资源利用等诸多约束因素情况下,综合运用工程与算法手段,得到网络路径、资源分配等实时近似最优解。一般又可细分为接入调度、负载调度、资源调度、场景调度等。
质量方面需要考虑用户地理位置、网络运营商、本地网络特征、设备性能、RTC使用场景类型、场景对质量要求的SLA、参与互动人数、各服务运行指标等条件;成本方面需要考虑资源预留、资源利用率、带宽削峰填谷等。目前行业领先的实践是基于接入负载均衡、骨干网路规划、实时质量检测等能力基础之上,结合机器学习预测方法,通过抽象多种不同RTC应用场景需求并转化为数学优化问题,采用最优化算法,寻求得出最优调度决策方案。同时调度系统在部署上,除了要考虑机房内集群化部署,还需要考虑多中心分布式部署,以避免单机房故障导致的调度系统功能失效等问题。
实时信令系统
RTC实时信令系统的主要作用是通过传输实时控制指令,控制RTC媒体流的发布、订阅和转发,以及实时同步房间及用户的各种状态。另外,RTC实时信令系统通常还支持传递用户自定义消息,可以满足应用内的文字消息、弹幕等轻聊天场景。
在一些面向未来的实时互动场景中,实时信令技术能带来例如虚拟人物的表情、道具状态等实时同步;SLG、MOBA等类型游戏核心业务的实时数据传输,比如行军状态同步,地图资源同步等;直播中的其他业务数据(如送礼物,抽奖等)的实时传输;物联网和智能设备的实时通信、监控元数据、处理数据传入和传出。消息必达、超低延迟、高并发是RTC实时信令系统的显著特征,因此,在传输上既要支持常规TCP协议,还要支持UDP协议,以满足超低延时要求。在网络架构上,针对中小规模RTC系统,通常采用纯网状的网络架构;针对大规模RTC系统,纯网状网络架构已无法完全满足超高并发信令的实时分发,通常需要引入中心网状+边缘树状模型的网络架构。
在RTC系统中,只有同时满足信令消息的高可靠、超低延时、高并发,才能保证RTC系统媒体的正常分发,以及房间和人员状态的正常同步。
媒体分发系统
RTC媒体分发系统主要作用是从接收到应用终端发送的音视频媒体数据开始,到最后将数据发送到其他应用终端的过程中,对音视频数据在RTC媒体系统中的转发控制。在网络传输方面会涉及到ARQ(Automatic Repeat-reQuest,自动重传请求)、FEC(Forward Error Correction,前向纠错)、PacedSender(平滑发送控制器)、GCC(Google Congestion Control,拥塞控制算法)、Simulcast(视频大小流控制)、带宽探测、码率控制、数据缓存、质量反馈等技术;在级联转发方面通常会涉及到服务器内核级联、机器级联、机房级联等策略。超低延时、高并发、转发调控是RTC媒体分发系统的显著特征。
RTC媒体分发系统通常还分为SFU(Selective Forwarding Unit)和MCU(MultiPoint Control Unit)两种分发架构,如图4所示。
SFU架构是将所有参与会话的流都发送到服务端,服务端将同等数量的流转发给应用终端,适合对超低延时要求高,并发要求不是特别高的场景,例如会议系统、直播连麦、远程面试等。
MCU架构是将所有参与会话的流都发送到服务端,服务端将所有流混流合并成一路流,然后再下发到应用终端,适合对超低延时要求不高,对并发要求特别高的场景,比如大规模赛事直播等场景。
业内主流是使用SFU分发架构,当有超大规模分发需求时,通过MCU混流后,再将媒体流转推到CDN系统,由CDN系统来支撑超大规模并发能力。不过,目前业内也出现了以阿里的GRTN和腾讯TRTC为代表的基于SFU模型的全链路RTC分发方案,具备支撑百万级并发,且延时可控制在秒内的能力,同时,也给RTC媒体分发系统的级联策略、转发性能、资源调度、信令协助等能力带来了非常大的挑战。
图4 SFU和MCU分发架构示意图
混流转推系统
如图1中所示,RTC混流转推系统主要作用是将RTC系统中所有参与会话的音视频数据流混合成为1路或多路媒体流,然后再转发到CDN或文件录制等旁路系统,以支持RTC系统和其他音视频系统之间的数据流转。业内使用的典型案例,就是图1中的互动直播场景,将主播和嘉宾连麦的数据流混合后,旁路转推到CDN系统,以满足超高并发的直播观看需求,并能有效地减少运营成本。
RTC混流转推系统主要包括接入网关、RTC流拉取、编码、布局管理、图像合成、多协议转推等能力。在技术指标上,对混流服务器性能要求较高,如果在高并发混流任务情况下,通常还需要使用服务器GPU硬件编码及渲染合成能力,实现高效率完成音视频编解码和图像合成。
数据质量分析系统
RTC数据质量分析系统在RTC系统中,主要起到两方面作用,一个是通过实时数据的上报、收集、查询、分析,实时了解从整体到个别用户的体验,快速响应由于个别用户的设备、网络环境差异、服务异常等造成的体验问题。依赖于实时的大数据处理能力,包括分布式数据库技术和实时数据监控与分析,能够实时反馈每一个用户的终端体验情况,形成实时链路监控和告警,是RTC系统里除了运维告警之外的另一种有效的监控告警方式。另一个作用是通过查询分析离线数据,形成对用户数量、音视频数据用量的统计,以及对不同时间段音视频传输各环节质量情况的分析和对比,对RTC系统QOS指标的提升具有重要的参考意义。
网络体验优化
RTC网络体验优化技术是,在RTC应用场景中,为了保证音视频数据在网络中的传输质量而采取的多种网络技术和算法相结合的工程技术的统称,是实时RTC技术体系的重要环节,其中包括文章前面提到的ARQ、FEC、NetEQ、JitterBuffer、GCC、PacedSender、带宽探测、码率控制、视频大小流策略,还包括视频SVC分层编码技术、视频超分辨率技术等等。通过合理地运用各种网络技术和算法,以对抗网络传输过程中出现的丢包、高时延、窄带宽、网络抖动等问题,从而达到低延时、低卡顿的效果,显著提升实时互动场景的用户体验。网络体验优化中每一项技术和算法都值得深入研究和探讨,由于本篇文章技术角度主要是介绍RTC音视频系统的整体架构情况,这里就不再详细展开介绍。
应 用 篇
当前RTC技术已广泛应用于各行各业中,已成为数字经济新的生产力来源。尤其是新冠疫情的到来,以RTC技术为基础的在线办公、远程会议、在线教学、电商直播、文旅直播、云K歌、云包厢、云游戏等数字化场景蓬勃涌现;伴随着实体经济数字化转型,RTC技术逐渐在远程医疗、远程机器操控、远程验车、远程保险、自动泊车、车载监控等场景中渗透开来。RTC技术作为新一代数字经济发展的底座支撑,将加速新型数字产业体系的形成与发展,开辟经济增长新空间。伴随着元宇宙概念的突然爆发,RTC技术已经成为元宇宙场景中不可或缺的技术底座,超低延时效果也将是元宇宙沉浸式体验不可或缺的因素之一。
互动直播
在直播观影/观赛的互动场景,咪咕视频推出了云包厢、云观影、云观众、云打Call等业务。在云观赛场景中,咪咕视频“云包厢”实现云聚会看比赛,在享受精彩赛事的同时,基于RTC实时互动网络,准实时的端到端时延,稳定流畅的数据传输,身处各地的朋友可以如面对面般进行赛事评论和聊天,极大提升观赛的娱乐性和沉浸感。
图5 云包厢/云观影
此外可以在常规实时互动基础上,融合引入VR/AR、数智人、虚拟演播等技术,创新互动场景,实现全场景沉浸式极致体验。在2022年北京冬奥会期间,中国移动5G冰雪推广大使谷爱凌的数智分身Meet Gu“走进”咪咕演播室,运用AR、虚拟演播、实时互动等技术,实现场内与场外、虚拟与现实的同台互动,带给观众耳目一新的体验。
图7 冬奥Meet GU来到演播室
健康生活
十四五规划强调要落实全民健身国家战略。面对当前疫情反复的现状,咪咕善跑推出智能互动健身功能,支持通过手机或大屏(带摄像头)点播健身课程,基于边缘AI实时监控用户运动数据,通过RTC技术和用户实时互动,并纠正错误动作,达成私人教练及健身馆效果。
文博文旅
数字文旅可以从线下游览升级成线上虚拟空间与线下现实增强相结合的全新体验。在云景区中设置超写实虚拟人作为导览员,游客还能够在游览时与同游的游客进行互动;数字藏品技术能够让景区增加更多的运营增长空间。数字文博有云博物馆、历史重现、文物复原、导览讲解、互动游戏等。咪咕和博物馆和景区合作在文博文旅场景有很多创新,如线上推出云博物馆,线下提供AR讲解、AR历史合拍、AR探究镜、AR寻宝等多种虚实结合的实时互动业务。
图9 景区实时互动
游戏互动
咪咕快游云游戏在前面提到的技术的基础上,基于中国移动“5G+云+边”算力和网络能力,将游戏与视频结合的方式为玩家带来创新的游戏场景。例如实时互动的游戏直播,玩家可以围观游戏主播,并实现连麦、游戏控制权转移等新的实时互动方式。针对跨端或跨设备场景,解决用户因设备、地点等因素带来的游戏体验限制,在手机、电脑、平板之间实现跨平台跨端游戏内容随意无缝切换。
展 望 篇
RTC技术虽然已经比较成熟,但仍然面临诸多难题和挑战,有待提高。
网络层面,完全沉浸感需要超高分辨率、超低时延的数据传输,这对于网络传输的带宽、延迟提出了更高要求,同时将来以亿计的交互用户量级将对网络传输的可靠性提出更高要求,目前业内的RTC技术体系,还无法真正做到身临其境的沉浸式体验感,RTC传输技术上还需要继续不断成熟和提高。
算力层面,基础设施工艺能力不足,工业母机、高端芯片、基础软硬件、开发平台、基本算法等方面的瓶颈依然存在。算力网络面临技术不完备,产业标准和理解不统一等问题。算法的不足和算力网络的不完整,也将是RTC技术在更多产业上广泛应用的制约因素。
规模化层面,RTC技术以超低延时作为其最为显著的特征,但也因此导致其在超大规模的并发实现上瓶颈明显,但伴随着以赛事直播、文艺汇演直播、元宇宙场景为典型代表的大规模用户量应用场景对使用超低延时技术的渴望,以RTC为基础的超大规模超低延时互动分发系统,已经成为业内强需求,急需突破制约和快速提升。
RTC技术缺乏统一标准,行业互通有待提升。
RTC技术已经经历了十余年的发展时间,在国内和国外也已经形成较多成熟的RTC技术服务提供商。但由于RTC技术的开放性,导致RTC技术到目前为止并没有形成统一的行业标准。虽然万维网联盟(W3C)和互联网工程任务组(IETF)在2021年宣布WebRTC成为官方标准,但仍然难以解决RTC整体技术体系标准的统一性,尤其是RTC实时信令系统的开放性,导致行业内的RTC产品无法无障碍地实现互联互通。伴随着RTC技术未来在工业制造、安全生产、医疗、金融等行业快速铺开落地,将会对RTC技术产品在融合通信、互联互通方面的能力提出更高的要求。
行业发展处于早期,监管法规待完善。
RTC技术的应用作为新兴赛道,包括用户层面、技术层面、市场层面的相关法律法规和行业标准仍需完善,由于互动方式的创新、技术的突破,会带来一些新的隐私保护、数据安全、合规等方面的问题,需要加强监管及行业自治;行业对于服务到达质量、不同类型产品能够接受的延迟数据等还没有统一的系统化的标准,这在行业协作、跨企业共建的过程中降低了一定的效率。
【参考文献】
1. 维基百科相关定义
2. 实时互动产业发展研究报告(信通院)
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。