1 背景
OPPO 实时音视频(OPPO Real-Time Communication ORTC),是咱们推出一套低延时、高品质、跨平台的音视频互通解决方案,通过 OPPO 云服务器向开发者凋谢,提供多人音视频通话、实时监控、应急指挥调度、互通直播、IOT 万物互融、云游戏等能力输入。以往的音视频通信技术大多是基于 SIP/H323 的实现计划,本文提供一种交融计划,实现 RTC 与 SIP 的互联互通,使得 RTC 可能很轻易的实现与 PSTN、SIP Trunk 的对接,同时传统的会议终端通过该计划也能轻易接入 RTC 零碎。
2 ORTC 简介
ORTC 万物互连下的重要基础设施,解决了不同平台各色终端之间实时互连互通问题,为泛滥产品提供实时音视频通信能力,目前已上线及打算产品包含,小布视频通话,近程帮助,小游戏语音互动,云游戏,互动直播,小布会议,虚拟人,IOT 等。
依靠 OPPO 云优质的节点资源,全网协同,动静智能路由,区域中级,就近接入,层级扇出,寰球连贯的特点,ORTC 提供超低延时,超高并发,超高可用的音视频服务。
3 ORTC 零碎架构
ORTC 是一款输入实时通信能力的 PAAS 云服务产品,总体架构蕴含媒体服务、信令服务、监控服务、接口服务、端侧接入 SDK 等。其中信令媒体是拆散的,信令通过 SLB 和 Redis 实现分布式及智能调度。媒体整体采纳 SFU 架构,反对级联,单个房间不同用户能够散布在多个媒体实例上。媒体反对合流录制,音视频流级联到 MCU 上,能够进一步实现合流后的录制、转散发。音视频传输上反对 jitterbuffer、NACK、FIR、PLI, 音频反对 AGC、AEC、NS,FEC 解决上音频传输上下行均反对 RED,视频上行反对 ULPFEC。端侧 SDK 基于 WebRTC 的流程标准,所有的 SDK 均反对 simulcast,反对实时字幕、语音激励。ORTC 是在 OPPO 寰球混合云这个弱小底座平台根底上建设的一款高并发、低延时、跨平台、高可用的 RTC 服务平台。
4 SIP 利用场景及架构
SIP 的利用无处不在,无论是思科、华为、Polycom 这些传统会议厂商,还是海康、大华、宇视这些监控厂商,咱们都能找到 SIP 的影子,而基于 SIP 的产品在传统会议、监控等相干行业占据着很大一块市场。而 5G 及云服务的衰亡,无疑会给传统行业注入新的生机,赋予其变革的能源,因为它不仅给传统行业大大降低老本,还会晋升其效率及服务体验。举个例子,高速的监控如果上云存储上会节俭一大笔的开销,而随时随地都能实时的看到监控画面并与之互动无疑也是监管部门及用户脍炙人口的。这些能力都是 RTC 可能提供的,然而间接上 RTC 的话,无疑会给客户带去天翻地覆的革新,这也是大多数企业用户所不能承受的,他们乐见的是平滑的无缝的降级切换,而要做到这些就须要进行 RTC 与 SIP 的互联互通,并为之深度交融定制相应的解决方案。
RTC 尽管是实时通信倒退的必然,而后它也有依赖的靠山,那就是根底的网络设施,因为寰球各地区,甚至同一地区的不同应用地点,不同人流量,网络信号都可能不同,造成基于纯数据网络的利用无奈很好的服务,而这时候基于 PSTN 的一般电话网或 PTT 无线对讲机可能就展现出了其稳固牢靠不掉线的特点,如果能把他们接入到 RTC 中无疑加强了 RTC 的抗弱网能力,拓展了其利用场景的范畴,而这些网络及设施的接入也须要 ORTC 与 SIP 进行融通。
随着万物互联的深刻,网络的触角延长到了力不从心的智能设施,这也为 RTC 提供了更广大的应用场景,这些设施平时可能对可靠性要求不高,偶然掉线也能承受;或者说他们可能就没有间接接入互联网,接入的是独立的网络,比方智慧社区的门铃,老人的手环,儿童的手表等 IOT 设施,其对应紧急被叫端的 APP 可能不是实时在线状态,这时候要获得和他们的紧急分割就须要借助于 SIP 外呼 PSTN/LTE 网络的一般电话。
而以上这些都对 RTC 与 SIP 的交融提出了需要,而要想把 RTC 做强做大做成音视频通信的基础设施,同时能提供各种协定的接入能力也是对 ORTC 的根本要求。
在下面的架构中,借助于 SIP 网关及 SIP 媒体服务器,实现了 RTC 服务与内部基于规范 SIP 协定的 PSTN 网络或 SIP 中继的无缝连接。
在 ORTC 与 SIP 的对接过程中,ORTC 外部的架构是绝对独立的,通过 SIP 网关解决后 SIP 协定将会实现与 WebRTC 信令协定的映射转换,媒体流则通过规范的 RTP/RTCP 进行传输管制,而接入的 SIP 终端,也将被伪装成一个虚构的 WebRTC Client 入会。
尽管从架构上看,ORTC 到 SIP 只需实现信令管制和媒体传输就功败垂成了,而后在施行过程上,要思考的实现细节还有很多,这其中包含转码、合流、平安传输、抗弱网个性、双流输入等。
5 ORTC-SIP 合流转码
ORTC 作为一款通用的音视频通信解决方案,其必然要求具备反对各种类型音视频编解码的能力,其中包含了前沿的音视频编解码 Lyra、AV1,而传统 SIP 会议则大多应用绝对激进通用的编解码器,这就要求两者对接时具备非对称编解码的能力,而作为切入方,ORTC 就要求具备解决这种非对称编码的转码性能。同时如果要间接替换第三方的服务,而只保留对方终端的话,则对方终端要看到的 ORTC 的合流输入,而不是当初基于 SFU 的多路输入,因而 ORTC 需具备合流(MCU)能力,即咱们的 ORTC 的媒体不能再仅仅是 SFU,要同时具备 SFU+MCU 的能力输入。
具体架构兼容的施行如上图所示,sip 终端通过 sip 服务器后,将于 ORTC 提供的虚构 sip 终端实现点对点的音视频通信,这样在两端各自与 sip 服务器实现背靠背的 SDP 协商之后,内部的媒体将转发至 ORTC 外部的媒体接收端,通过 pipe 输入至核心媒体节点后退出 ORTC 的智能调度散发过程,同时 ORTC 所有接入方的媒体数据,也将汇聚到 MCU,经其合流后散发调度给 sip server,sip server 做进一步的加密解决后转发至 sip 终端。
同样,通过 MCU 合流后的数据,也能旁路输入,可能以直播模式交融 CDN 零碎进行散发,同时也具备云端录制能力。
6 ORTC-SIP 抗弱网及安全控制
作为全球化经营的通信解决方案,其所面临的接入网络的根底能力及应用场景可能千差万别,有些中央网络信号强,有些中央则较弱,有些中央可能拥挤较重大,这就要求咱们的零碎具备较强的抗弱网能力,而 ORTC 基于 WebRTC 标准实现的软件,人造具备了较强的抗弱网能力。作为后来者的 SIP 要想完满的接入进来,则必然要求其不仅具备 ARQ、FEC、FIR、PLI 这些必备的抗弱网个性,还要具备较欠缺的码率、帧率动静自适应能力。
作为一款商用的实时通信软件,窃密无疑是其必备的属性,而 ORTC 基于 wss+srtp 的实现计划,给了用户全链路的信令及数据安全传输保障。而作为外来户的 SIP 服务,如果要完满的融入到 ORTC 上,则平安必定也是必要条件。因而在信令接入上 sip 协定须要承载在 TLS 上,媒体数据要采纳密级较高的 SRTP 传输,同时在服务部署上要做好相应的端口限度及防火墙防护。
7 ORTC-SIP 双流管制
对于视频会议、直播等场景,双流的出现已成为音视频通信的必备技能。如何更好、更灵便的进行双流的切换及管制,也成为一项输入能力的重要指标。在 ORTC 与 SIP 的整个架构中,咱们提供了基于 BFCP 的双流传输控制协议,很好的解决了多端双流之间的来回自在切换。
8 ORTC-SIP 集群
随着业务的一直扩大与伸延,服务承载的并发也越来越大,而服务对象的特殊性,也要求零碎具备较牢靠的弹性扩缩容能力。服务高牢靠可伸缩,波及到的信令、sip、媒体、数据库服务均需反对集群及负载平衡。
ORTC 外部借助与集群及智能路由曾经实现了集群负载及服务的主动伸缩。而 sip 作为一个有状态的协定,要实现牢靠的注册及呼叫上的负载平衡,则须要做不少工作。咱们目前采纳基于四层网络负载平衡外加外部服务桥接的计划,实现了端侧的平衡注册及业务散发,同时保障了在某台服务挂起时接入的 sip 终端主动切换至其余服务节点,不影响失常业务,提供了负载平衡能力的同时进步了软件的高可靠性。
9 瞻望
5G、AI 技术的倒退进一步推动了音视频技术的演进,并对 RTC 提出了更高的要求,更低的延时、更高的码率、帧率,给大规模的云上剖析提供了可能,也反向拓宽了 5G 的利用场景,晋升了 AI 的准确率,促成了云端 AI 的利用。
上图是一种采纳视频流测量心率的办法,其原理是基于皮肤中血液的强劲变动从而引发其对可见光排汇强弱的变动,进而利用滤波及离散傅里叶变换计算出心率值。将其与 ORTC 联合,就能够实现近程会诊的实时心率检测。在工业及非凡行业畛域联合 5G 及 AI 的利用场景还很多,而 ORTC 无疑将表演越来越重要的根底通信角色,逐步成为缺它不可的根底必备设施。
在目前 ORTC+SIP 架构根底上,咱们能够进一步扩大造成 ORTC+ N 的场景接入能力,交融更多的流媒体协定,聚合更多的媒体利用,使得咱们的 ORTC 真正做到 ALL IN ONE 的根底通信能力平台。
10 援用
[1] 网络负载平衡
http://cloud.oppoer.me/docsCe…
作者简介
Sunny OPPO 高级后端工程师
领有 10 多年流媒体相干研发教训,先后参加并主导过 IPTV、电视聊天软件、基于实时音视频监控的应急指挥调度平台、基于实时视频的多模态微表情研判零碎、RTC 视频会议等我的项目的研发。
获取更多精彩内容,请扫码关注 [OPPO 数智技术] 公众号