浅绿色部分分为四层
PeerConnection:主要实现P2P连接
Session:会话层
第三层,包含音频引擎,视频引擎,传输,3大核心模块
最底层是与硬件相关的硬件适配层:包含音频的采集和渲染,视频的捕捉,网络IO
其中Voice Engine 音频引擎包含3大模块:
NetEQ for voice: NetEQ
实际上是一个音频缓冲buffer,防止音频抖动
Video Engine 视频引擎也包含3大模块
Video jitter buffer:视频jitter buffer跟音频buffer一样也是用来防止视频抖动的。
Transport 传输模块包含3大模块
SRTP: 一般正常视频传输都是使用RTP协议,但是由于浏览器对安全性要求比较高,增加了加密这块的处理,采用SRTP协议。还有流控处理的RTCP(实时控制协议(Real-Time Control Protocol))
Multplexing:多个流复用同一个通道
P2P (STUN + TURN + ICE) : 主要是P2P相关的技术