随着5G、AI、VR等ICT基础能力的完善,万物互联、万物智联已成趋势,终端设备接入会呈现几何级的增长,实时通信不再局限人与人之间,还存在于人与设备之间,视音频通信与生产系统整合后,改善现有生产流程,甚至创造出新的应用场景。视音频通信当今以每年30%复合增长率增长,已经在在线教育、视频会议等行业蓬勃发展,但这还是处于应用的初级阶段,在与产业互联网结合后,将产生惊人的爆发力。
当前视音频通信的场景主要应用在人与人沟通场景, 例如视频会议、在线教育、视频客服等,视音频通信连接远程的双方,解决空间距离的障碍,实现在线沟通;还呈现另一种趋势,一端是人,另一端是机器,例如虚拟客服,人看到、听到的是AI虚拟人合成的视音频,此时实时通信作为传输通道使用,连接AI与用户。
视频作为人沟通的主要方式,势必带动实时视音频通信的迅猛发展,与各行业深度结合,作为一种基础的通信手段而存在,无处不在。
京东云推出视音频通信(JRTC)技术方案
日常沟通有图文、语音、视频三种方式,每种方式有实时、非实时区分,有双方、多方之分,例如支持个人沟通、多人视频沟通场景的工具,这类独立的沟通工具软件不能与业务整合在一起,为此各厂商会提供含有实时通信的PaaS能力、SaaS能力。
京东推出了 实时视音频通信JRTC,提供视音频实时通信服务PaaS云服务,在融合+边缘两点建设差异化特色。 将实时通信和直播、AI、监控、SIP互通互联,实现数据交换和资源共享,实现资源、技术的融合;JRTC与边缘资源相结合,降低用户接入延时,使用只有云资源价格几分之一计算和带宽,获得更大的竞争力。
JRTC系统的建设目标:
面向覆盖全球的实时音视频开放云平台,面向集团和外部客户,提供高品质、超低延时的音视频通信服务;
建设具有鲜明特色的系统:
(1) 提供全平台终端的低延时视音频通信能力,易于集成接入;
(2) 与视频直播、视频监控、视频会议、AI等系统互通融合,异构内容交换;
(3)分发部署在数十万个边缘节点上,大幅度降低网络延时和运营成本。
面向视频会议、视频通话、连麦直播、低延时直播、在线教育等场景提供解决方案;
方案实现
1.逻辑架构
系统构建在京东云的计算、存储、网络资源之上,也使用各类家庭网关、边缘节点,提供丰富SDK供应用集成,包括 移动端 和 H5端 ,这些SDK不仅有通信能力,同时也有一些业务属性;接入层既支持Webrtc用户的原生接入, 也支持Rtmp直播流、Gb28181、Rtsp等媒体流、SIP、监控等终端的接入,这些流及终端采用网关实现信令、流格式、媒体规格的转换,提供信令、媒体、混流等服务,并与CDN、AI、视频源站系统对接互通,支持网络链路选择、传输效率提升以及纠错能力;分发层实现媒体在云端、接入端的分发与调度,提供媒体流的定位、分发、传输,根据用户区域、节点负载、分发质量调度服务节点,采用TCC、ARQ、FEC技术实现高质量的数据传输,采用JitterBuffer、带宽自适应、多码流等技术保障视音频的稳定高质量;控制层实现房间、频道管理、媒体流、用户维护,不同业务互联互通;整个系统提供统一公共API对应用开放,支持各类SaaS应用,包括视频会议、直播连麦等。
2.部署架构
控制层服务
- 控制服务: 提供接口与信令服务通信,实现PEER节点、房间、流发布、流订阅关系的维护和管理;
- 消息分发服务: 采用消息集群实现整个系统信令广播、订阅;
- 接入调度: 根据客户端区域选择临近且未过载的区域节点提供服务;
- 媒体服务调度: 根据媒体服务的性能,选择区域节点内具有房间亲缘性的服务实例;
- 接口服务: jrtc-console-api 与控制台通信,实现开户、用量、服务配置等功能;控制台服务;提供jrtc-open-api与供服务器端业务互通,包括房间、用户、流信息查询、管理、实现PEERID申请、鉴权功能;
- 视频会管会控功能: 包括用户、会议室(预约会议、即时会议)、参会控制;会议过程中的权限控制,包括静音、静麦、发消息、屏幕共享等。
分发层服务
专用于数据转发的Relay,用于转发RTP数据包,主要用在当某些流服务之间,直接转发网络不好的情况。例如A是电信网络,需要发送数据到另一个B是联通网络,他们之间直接转发往往效果差,则通过Relay服务(该服务器有联通、电信双线路)中转数据。 数据路径就优化成:A电信线路-> Relay电信线路->Relay联通线->B联通线路,这样减少跨运营商线路问题。
该服务实现媒体一入多出的功能,实现流复制,也是海量用户接入的关键分发方式。服务采用可靠UDP分发,支持FEC、ARQ、多路径方式容错,确保低延时传输。
接入层服务
- jrtc-proxy接入代理, jrt-singal、jrtc-media反向代理服务,请求调度将请求定位到信令&媒体服务实例;
- jrtc-singal信令服务, 对客户端提供各类的RTC信令交互,与控制层实现房间、流、用户信息同步, 从消息层订阅、发布各类事件,例如用户进入退出房间、发布取消发布流等事件;
- Jrtc-media媒体服务, 与客户端建立媒体通道,收发RTP媒体、多个媒体服务实例之间的媒体流转发。
3.SDK族
- JRTC Client Core提供视音频通信、消息通信、媒体处理控制等基础能力,提供友好接口;
- 提供基于业务专业场景SDK, 例如视频会议、直播连麦、视频客服、低延时直播等SDK;
- 用户基于实际情况,可选择业务场景SDK或视音频基础通信能力SDK, 满足快速集成和深度定制的不同需要。
- 提供满足PC、移动、专业设备系统运行的SDK版本,主要包括Android、IOS、WIN、H5、MAC、Electron 平台。
4.关键技术
- 低延时分发和调度
控制层采集各节点连通性、通信质量数据;归纳形成网段路由记录;结合历史实际通信结果、挑选低延时链记录,形成短链分发网络;根据节点实际负载、即时连通性、流亲缘性,产生分发路径用于实际通信。如下图:
主要实现以下调度功能:
- 静态路由, 支持同运营商优先调度,根据IP地址、地理信息地域临近调度,支持双线节点搭桥,解决跨运营商。
- 动态检测: 节点周期性与其它节点检测连通性,检测的节点覆盖有本区域、其它各大区低延时节点检测;收集两个服务器的实际通信质量(丢包率、延时、抖动),并汇报到中心;中心根据同区域的探测记录,合并成网段(大区)的连通性路由记录。
- 路径产生: 优先选择历史同时段通信质量好的路径,且该路径当点正常、负载不重、且连通性良好;选择连通性好的节点,过滤掉负载过重、故障的节点;根据手工配置、同运营商、同区域,连同连通性检测,折合成链路的成本;根据源和目标,按照动态规划算法,计算出最短路径,产生多条路径。
- 弱网增强
弱网增强采用视音频编解码、传输控制、纠错算法不同手段综合实现,是编解码+传输+纠错算法协同作用,JRTC核心指标业内前列,声音抗网络丢包>70%;视频抗网络丢包>40%;房间并发用户数>1000 ,并发语音发言16方;平均视音频延时<260ms;平均起播延时<1.5秒;其主要实现原理如下:
在视音频编码方面有SVC、Simulcast、码率自适应和AI超分。RTC数据通信的场景下,经常会发生网络带宽的波动,系统动态地调整音视频编解码的实时码率,充分利用网络带宽,保证最佳的视频效果.网络传输和视频编码、解码播放非常独立的模块,系统将这三个模块结合在一起联动工作,让音视频的Codec能够支持动态地调整码率、分辨率、帧率等,通过实时网络探测的方式将实时网络情况传送给音视频的Codec,实现音视频码率和带宽的自适应,不浪费网络带宽并且提升视频质量,通过多链路并传、缓存自适应、带宽估算、平滑发送。纠错算法方面有FEC前向纠错、主/被动重传、错峰多副本、自适应纠错策略方式,确保网络传输高效。
实时通信(RTC, Real-Time Communication)场景中,高清晰、低延时视音频是传输持续追求的目标,但实际使用过程中,网络丢包、抖动、延时导致传输质量的下降,通常做法是采用前向纠错FEC、后向纠错ARQ等技术来弥补丢失或延迟到达的数据包,配合JitterBuffer(抖动缓冲区)来对数据包去重排序,从而达到稳定连续数据输出。
现有无论是FEC还是ARQ纠错方式,主要解决随机性丢包、偶发抖动造成的数据分组丢失或延时到达问题,并不解决处于网络拥塞、连续性丢包、大抖动的弱网场景,主要表现在以下几点不足:
现阶段大量的智能终端支持多种网络类型,如手机同时支持WIFI和3/4/5G接入,或双4/5G接入,PC支持有线和WIFI网络接入,在现有实时通信同时只能使用一种网络,只有网络失效后才切换到另一个网络,这种做法不能获得多个网络连接带来的好处,在其中网络失效后切换到可用网络也不够及时;
造成网络数据大丢包、高抖动、高延时的原因往往是网络超负载、网络拥塞, FEC或ARQ的纠错算法方式都是增加发送纠错数据包,增大带宽负载,从而导致网络链路状态的拥塞加剧恶化,这与纠错恢复数据的初衷背离,导致网络链路更加不可用;
在连续性丢包、或突发高抖动场景中,表现现象为一段时间范围内所有的数据包都大量丢失或延迟到达,在这期间无论何种纠错方式都无济于事,纠错算法失效,最终表现为视频卡顿、声音丢失。
本系统目标是高效纠错丢失的数据分组,降低传输延时,整体上提升视音频传输质量,其方法是同时使用多个网络接口,并给出选择多链传输数据的依据和方法,具体如下:
- 在多网络链路的设备上,选择出通信质量好(延时小、丢包低、抖动小)的链路做作为主传输链路,其它有效链路作为备用链路,选择时考虑链路优先级高(例如WIFI优先级就比4/5G高),在手机、PC上同时并发利用WIFI、4G、LAN、WIFI多网络接口的目标;
- 当链路实际通信质量变得非常差时(非网络接口处于DOWN状态),本发明能识别该情况并自动快速切换,降低网络接口切换的响应时间;
- 在网络链路出现拥塞时,其表现为高丢包、高延时、高抖动,采用备用链路传输纠错包,减轻拥塞网络链路负载,增强纠错效果,提高数据到达效率;
- 检测出连续丢包的网络特性,使用备用链路作为纠错包传输链路,解决传统单链路传输方法连续丢包时间段内,任何数据都无法到达接收方的问题;
- 对于高优先级数据包,例如音频数据包,主备链路同时传输,以获得高到达率和更低延时;
- 对于数据包要即将超出JitterBuffer最大容忍抖动范围、或主备链路延时(非拥塞状态)都高于阈值,主备链路同时传输容错数据,获得更高到达率,降低延时。
- 异构系统融合
传统系统垂直建设,重复建设,各个系统不互通,数据资源不能复用。采用融合建设的系统支持各类业务,统一管理,统一控制,减少重复建设,适应业务的多变化,实现创新业务;JRTC作为传输通道,支持各类低延时传输,从一个技术栈出发,减少投入,在视频格式、传输协议、终端支持、异构系统四个方面进入融合。
融合实现的原理是,在统一的网关系统下将视频从多种多样的封装协议或者网络协议中抽离出来,抽出底层视频格式和控制,得到底层储存的H.264或者AAC的音视频流,调用媒体处理对这些媒体进行处理,再通过媒体传输网关在不同的系统,对应系统的网络封装或者信令的控制,最终达到在不同的异构系统之间实现媒体内容的融合或者媒体内容的统一交换。
- 边缘节点管理
边缘节点(边缘机房、家庭网关)相对云端资源量大、靠近用户特点,能够更好解决用户最后一公里的质量问题,降低延时;边缘节点成本低,极大提升JRTC市场竞争力,同时让无线宝流量变现。使用边缘节点,采用云节点中转流,解决跨网跨域问题,在技术上做好容错,以备边缘节点性能、带宽不稳定,能够及时倒换节点而不影响用户体验,做好对边缘节点资源管理和调度;边缘节点运行程序轻量化。
上图左部分列举的一个简单对比,一般云IDC机房是两位数的,不会太多,其中是云IDC提供高可用的保障服务和应用。CDN节点的量级一般在千级别,可用性也比较高,全国各省都会分布几个机房点。但实际上最终要接入端设备数可能是亿级别的量级,设备接入并通过网络进行数据通信。我们将定义成Edge层,这一层是百万级别的设备,这些设备没有CDN节点那么高的可靠性,处理能力也不如CDN节点里部署的服务器那么强,利用边缘闲置的一些计算资源来提供一些分布式的计算和连接能力,虽然每一个点的绝对计算能力都不是非常的强,但它可以在低延时通信领域里作为一个数据流转发或者提供比较小延时和连接能力。节点一方面跟核心控制平台有连接,它有自我升级和管理的能力,通过平台的控制逻辑下发指令,这些节点就可以进行自我管理和自我进化。
自我管理包括自身计算能力的分配、带宽管理等。 因为这些节点有网络能力之后,可以探测自身的一些网络连接状况,管理热点,并根据自身的存储进行整个全生命周期的管理。而且每个节点都是一个自制的节点,来完成自己存储空间、临近节点路由和网络连通性的管理,并将自身情况数据上报给平台管理层,平台管理层可以结合每一个节点的自制能力进行全局的管理。每个节点也可以实现按照平台逻辑做数据防护和加密,整个“云-管-边-端”架构也是京东云RTC基础运行的物理存在环境。
JRTC系统特性
安全
- 视音频数据全程AES高强度加密;秘钥周期性更换,确保数据传输安全;
- 信令https/websocket加密,安全可靠,无法非法窃取内容;
- 严格的账号、服务认证体系,拒绝非法访问;
可靠性
- 平台服务多机房、多线路、多集群部署,确保服务永不下线;
- 客户端网络自适应,增强对复杂环境适应性;
- 支持单流双推到不同服务器、机房,异常后自动切换,观看端基本不感知;
易用性
- 针对场景封装SDK,包括在线教育SDK、低延时直播SDK,贴近应用、快捷集成;
- 提供用户控制台,查看用量、质量、设置、计费、开通服务等。
应用场景
京东会议
京东会议产品,依托京东云核心 音视频编解码、信道传输、网络调度 等技术,为您提供多终端、流畅、便捷易用、安全可靠的云视频会议产品,让您随时随地高效开会,全方位满足不同场景下的会议需求。 同时提供二次开发接口,经过简单二次开发就可以满足企业内会议使用。
该应应用提供安卓、iOS、Windows、Mac多终端、流畅、便捷易用、安全可靠的云视频会议产品和服务;提供私有化部署服务;提供完整的音视频控制、权限管理、布局控制、 主持人等会议控制功能;提供完整的屏幕共享、聊天、屏幕批注等协作功能;提供客户二次开发接口、定制化、改标等服务,满足企业内会议使用;服务可应用于企业会议、远程教学、远程面试等多种场景。
低延时直播,连麦PK一体化方案
在线医疗
在线教育
赋能产业互联网,视频深入到生产系统中,需求视频融合
视频未来将是一种基础设施,在生活、生产过程中广泛应用,就像电、水一样,具有稳定、易获、通用。不再是一项IT工具,独立于应用之外,应该与应用的整合,无缝嵌入到应用中,视频无所不在,视频伸手即得,视频时时靠谱。
视频电话、视频会议、监控、直播、点播只是不同特征的典型应用,应该打破系统边界,格式相互兼容、网络相互联通,质量稳定可靠,统一交换,统一融合,无处不在。
推荐阅读
欢迎点击【京东科技】,了解开发者社区
更多精彩技术实践与独家干货解析
欢迎关注【京东科技开发者】公众号