一.网络质量
网络质量是webrtc非常突出的一点,主要表现在:
1.数据传输的实施性(<500ms)
2.可以试试准确的评估出带宽(REMB,TCC),通过丢包率以及包延迟的增长速度对带宽进行评估。
3.优秀的防拥塞控制算法(GCC)
4.可以保证网络带宽使用的公平性(TCP GCC)
一方面保证内部多个GCC连接的公平性,另考虑与TCP共存时使用带宽的公平性
5.抗丢包(NACK, FEC)
6.防抖动 防乱序(jitterBuffer NetEq)
7.可以传输各种数据(音视频 文本 二进制数)
二.音视频引擎
三.3A模块
webrtc支持通过开关切换软3a能力以及硬件3a能力:回声消除,降噪,增益。
四.安全传输
1.通过动态分配用户名/密码的保证用户的有效性
2.通过指纹保证证书的真实性
3.通过DTLS-SRTP
4.支持端到端的加密,音视频加密之后,分包之后再进行二次加密。
五.跨平台
webrtc支持多个平台
六.优秀的架构设计
优秀的线程模型 优秀的设计模式 有很多值得学习借鉴的地方