摘要
本文描述了WebRTC提升通信质量的关键措施。
影响通信质量的因素
本文所述的“通信质量”特指指用户在使用WebRTC前端应用时的主观体验。
影响通信质量的因素有:
- 设备性能:用户的终端设备(包括PC和手机)性能不足时很难获得良好的通信体验。
- 网络带宽:带宽低于媒体流码率时容易出现卡顿的现象。
- 网络延迟:高延迟会影响视频画面的实时性。高带宽不一定有低延迟,延迟与路由设备有关。
- 网络抖动:网络实际带宽和包延迟的波动幅度。抖动越小,画面越平滑,声音越连续自然。
提升通信质量的一般措施
根据上一节的分析,容易得出提升通信质量的一般措施:
- 升级设备:购买性能更高的终端设备。
- 增加带宽:采用更优质的网络通信服务接入点。
- 减少流量:降低对视频画质的要求,不要采用太高的音视频编码码率。
以上措施虽然可以见效,但是受到用户意愿的约束,难以实施。
WebRTC提升通信质量的措施
在不改变用户意愿的前提下,WebRTC采用如下措施大幅提升了通信质量:
- 网络带宽评估:只有快速准确估计出当前可用的网络传输带宽,才能做到压缩传输时收放自如,画面可清晰可模糊,网络传输可快可慢。
- NACK/RTX:NACK是一种负向反馈机制,即接收方只有在没有收到数据的时候才通知发送方,消除频繁发送ACK报文的代价。RTX就是当发送方得知数据丢失后,重新发送一份丢失的包。
- JitterBufffer:适当缓冲一下,对乱序