WebRTC 架构分析 WebRTC(Web Real-Time Communication)是一种支持网页浏览器进行实时语音对话或视频对话的技术。其最终目的主要是让 Web 开发者能够基于浏览器轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件,Web 开发者也无需关注多媒体的数字信号处理过程,只需编写简单的 Javascript 程序即可实现。 WebRTC 架构图中,主要分为三个部分: 1. 紫色部分是 Web 开发者 API 层,面向 Web 开发者的 Javascript API。 2. 蓝色实线部分是面向浏览器厂商的 API 层,也是 WebRTC 的核心部分。 3. 蓝色虚线部分是浏览器厂商可以自定义实现的部分。 WebRTC 架构组件包括: 1. Web App:Web 开发者开发的程序,基于集成 WebRTC 的浏览器提供的 Web API 开发基于视频、音频的实时通信应用。 2. Web API:面向第三方开发者的 WebRTC 标准 API(Javascript),使开发者能够容易地开发出类似于网络视频聊天的 web 应用。 3. WebRTC Native C++ API:本地 C++ API 层,使浏览器厂商容易实现 WebRTC 标准的 Web API,抽象地对数字信号过程进行处理。 4. Transport / Session:传输/会话层,采用了 libjingle 库的部分组件实现,无须使用 xmpp/jingle 协议。 5. VoiceEngine:音频引擎,是包含一系列音频多媒体处理的框架,包括从视频采集卡到网络传输端等整个解决方案。VoiceEngine 是 WebRTC 极具价值的技术之一,是 Google 收购 GIPS 公司后开源的。 6. VideoEngine:WebRTC 视频处理引擎,是包含一系列视频处理的整体框架,从摄像头采集视频到视频信息网络传输再到视频显示整个完整过程的解决方案。 在 VoiceEngine 中,包含了多种音频处理技术,例如: * iSAC(Internet Speech Audio Codec):针对 VoIP 和音频流的宽带和超宽带音频编解码器,是 WebRTC 音频引擎的默认的编解码器。 * iLBC(Internet Low Bitrate Codec):VoIP 音频流的窄带语音编解码器。 * NetEQ:针对音频软件实现的语音信号处理元件,自适应抖动控制算法以及语音包丢失隐藏算法。 * AEC(Acoustic Echo Canceler):回声消除器,是一个基于软件的信号处理元件,能实时的去除 mic 采集到的回声。 * NR(Noise Reduction):噪声抑制,是一个基于软件的信号处理元件,用于消除与相关 VoIP 的某些类型的背景噪声。 在 VideoEngine 中,包含了多种视频处理技术,例如: * VP8:视频图像编解码器,是 WebRTC 视频引擎的默认的编解码器。VP8 适合实时通信应用场景,因为它主要是针对低延时而设计的编解码器。 WebRTC 架构分析提供了一个广泛的实时通信解决方案,包含了音频和视频处理技术,能够满足 Web 开发者开发基于视频、音频的实时通信应用的需求。
- ultraray2017-03-05从整体上介绍了webrtc,可以有个初步印象。类图也可让读者对架构更好的掌握,也有一些细节的介绍。
- 冰凌862014-06-16很好的资源,非常感谢!
- ncschen111112018-03-02非常好的对webrtc整体框架的介绍,入门不错
- bowuhoude2014-07-07非常不错的学习资料。
- 粉丝: 1
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助