webrtc从入门到深入---02

本文介绍了WebRTC的目的,详细解析了其架构图和组件,重点讨论了核心模块API,包括网络传输模块libjingle、音频和视频处理的数据结构以及音频和视频引擎的API。同时,还提供了在Windows 32bit环境下编译WebRTC的步骤,涉及Google的Depot Tools、Visual Studio等工具的配置。
摘要由CSDN通过智能技术生成

1、WebRTC目的

       
       WebRTC(Web Real-Time Communication)项目的最终目的主要是让Web开发者能够基于浏览器(Chrome\FireFox\...)轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件,Web开发者也无需关注多媒体的数字信号处理过程,只需编写简单的Javascript程序即可实现,W3C等组织正在制定Javascript 标准API,目前是WebRTC 1.0版本,Draft状态,  网址;另外WebRTC还希望能够建立一个多互联网浏览器间健壮的实时通信的平台,形成开发者与浏览器厂商良好的生态环境。同时,Google也希望和致力于让WebRTC的技术成为HTML5标准之一,可见Google布局之深远。


2、WebRTC架构图

 

架构图颜色标识说明:
(1)紫色部分是Web开发者API层;
(2)蓝色实线部分是面向浏览器厂商的API层(也就是红色框标内模块,也是本人专注研究的部分)
(3)蓝色虚线部分浏览器厂商可以自定义实现

3、WebRTC架构组件介绍


(1) Your Web App 
Web开发者开发的程序,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协议 

a.  RTP Stack协议栈 
Real Time Protocol 

b.  STUN/ICE 
可以通过STUN和ICE组件来建立不同类型网络间的呼叫连接。 

c.  Session Management 
一个抽象的会话层,提供会话建立和管理功能。该层协议留给应用开发者自定义实现。 

(5) VoiceEngine 
音频引擎是包含一系列音频多媒体处理的框架,包括从视频采集卡到网络传输端等整个解决方案。 
PS:VoiceEngine是WebRTC极具价值的技术之一,是Google收购GIPS公司后开源的。在VoIP上,技术业界领先,后面的文章会详细了解 

a.  iSAC 
Internet Speech Audio Codec 
针对VoIP和音频流的宽带和超宽带音频编解码器,是WebRTC音频引擎的默认的编解码器 
采样频率:16khz,24khz,32khz;(默认为16khz) 
自适应速率为10kbit/s ~ 52kbit/; 
自适应包大小:30~60ms; 
算法延时:frame + 3ms 

b.  iLBC 
Internet Low Bitrate Codec 
VoIP音频流的窄带语音编解码器 
采样频率:8khz; 
20ms帧比特率为15.2kbps 
30ms帧比特率为13.33kbps 
标准由IETF RFC3951和RFC3952定义 

c.  NetEQ for Voice 
针对音频软件实现的语音信号处理元件
NetEQ算法:自适应抖动控制算法以及语音包丢失隐藏算法。使其能够快速且高解析度地适应不断变化的网络环境,确保音质优美且缓冲延迟最小。 
是GIPS公司独步天下的技术,能够有效的处理由于网络抖动和语音包丢失时候对语音质量产生的影响。
PS:NetEQ 也是WebRTC中一个极具价值的技术,对于提高VoIP质量有明显效果,加以AEC\NR\AGC等模块集成使用,效果更好。

d.  Acoustic Echo Canceler (AEC) 
回声消除器是一个基于软件的信号处理元件,能实时的去除mic采集到的回声。 

e.  Noise Reduction (NR) 
噪声抑制也是一个基于软件的信号处理元件,用于消除与相关VoIP的某些类型的背景噪声(嘶嘶声,风扇噪音等等… …) 

(6) VideoEngine 
WebRTC视频处理引擎 
VideoEngine是包含一系列视频处理的整体框架,从摄像头采集视频到视频信息网络传输再到视频显示整个完整过程的解决方案。 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值