整体架构
WebRtc主要分为三层:
- C++API层:外层调用
- Session管理
- 核心层:包括视频引擎、音频引擎、网络传输
- 可由使用者重写
- 视频引擎:编解码器、视频缓存、视频增强
- 音频引擎:编解码器、音频缓存、回音消除、降噪
- 传输:SRTP协议、多路复用、P2P、STUN+TURN+ICE
目录结构
主目录
Modules子目录
运行机制
轨与流
Track:流
MediaStream:媒体流,包括音频流视频流,一个流中有多个轨
重要类
MediaStream
RTCPeerConnection(核心)
RTCDataChannel
RTCPeerConnection
调用过程
调用时序图