在3G技术上,很多运营商都使用了 GIPS(Global IP Sound) 或 Sprit DSP的方案做底层通话 SDK,GIPS 有编解码、回声消除、降噪等算法。GIPS 后期做视频通信SDK方案以后,全名由Global IP Sound 改为 Global IP Solutions,2011年被 Google 收购后,谷歌开发者在 GIPS 中增加了 P2P 通信技术和其它的一些互联互通的协议,也是在同年,Google 将其开源,GIPS 由此摇身一变成为了 WebRTC。
2G 3G 时代,语音通话、音频压缩技术已经相当成熟,H264 编码解码器研发成功后,视频压缩技术的发展也明显加快,光纤的普及、4G 5G 的发展使PC、移动端通信 由以前的小水管发展为大运河。
在音视频压缩技术、通信技术都蓬勃发展的情况下,娱乐直播、在线教育、在线会议相关领域也随之如雨后春笋出现,相关行业也开启了移动互联网的浪潮。
除去 WebRTC,相关领域的技术路线还有 RTMP、HTTP flv 、HLS以及 DASH,音视频会议注重低延迟、互动性、实时性,RTMP、HTTP FLV 平均时延在 3秒左右,而 HLS、DASH 则在 10 秒以上,WebRTC 以只有 500 毫秒的平均延时这一优异成绩称为音视频会议的首选技术路线。
WebRTC 优点:
跨平台(Web、Android、IOS、Windows、MacOS、Linux)
实时(快速、低延迟)
Free 已被 Google 开源
支持许多核心技术:如STUN, ICE, TURN, RTP-over TCP等关键NAT技术
主流浏览器对其兼容性强
WebRTC实现了基于网页的视频会议,通过浏览器提供简单的javascript就可以达到实时通讯(Real-Time Communications (RTC))能力。在这一技术尚未出现之前,网页上要实现视频通话或音频通信,通常需要依赖安装Flash插件或其他外部插件,才能实现这些功能。

紫色部分是 Web 开发者API层;
蓝色实线部分是面向浏览器开发者的API层;
蓝色虚线部分浏览器开发者可以自定义改写。
调用顺序就是由上至下。
第一层:C++ API,是WebRTC库提供给浏览器javascript层的核心功能API接口
第二层:Session层,上下文管理层,音频、视频、非音视频的数据传输,都通过session层处理,实现相关逻辑
第三层:音频引擎、视频引擎、传输模块
第四层:硬件相关,包括音视频的采集、网络IO
详细说说第三层:
Voice Engine:负责处理语音数据的收发,包括音频编解码、噪音消除、回声消除;
Video Engine: 负责处理视频数据的收发,包括视频编解码、视频缩放和处理;
Transport:处理网络层通信,包括数据的传输、路由、封装,确保WebRTC能够在不同的网络条件下建立稳定的连接,包括P2P之间的通信。

Leave a comment