二:WebRTC基本框架
2.1 WebRTC相比自研直播平台的优势
- 跨平台音视频互联互通:支持Windows,mac,Android以及IOS
- 插件化管理:支持多种编码格式
- 支持在浏览器上使用
2.2 直播平台考虑因素
- 音视频不同步问题:网络延迟和抖动
- 3A问题:去噪,回声消除,增益控制
- 音频实时性:TCP协议以牺牲实时性保证网络服务质量
2.3 WebRTC客户端架构
总体来说分为四层:
-
接口层
分为:Web层接口,Native层接口
既可以使用浏览器开发直播平台,也可以使用**Native(C++,Android,OC)**开发
-
Session层
控制业务逻辑
-
核心引擎层(核心)
音频引擎层:NetEQ,音频编码器和3A算法
视频引擎层:JitterBuffer和视频编码器
网络传输层:SRTP,网络I/O复用和P2P
-
设备层
音视频的采集
2.4 WebRTC数据流的传输
注:图片来源《WebRTC音视频实时互动技术原理、实战与源码分析》,机械工业出版社,2021年7月第一版第一次印刷