后向纠错包括ARQ(Automatic Repeat Request)和PLC(Packet Loss Concealment)。ARQ指的是接收端检测到数据丢失的时候发送NACK报文请求发送端重传,适合突发大量丢包的场景,没有额外的带宽消耗,但是时效性取决于RTT,如果存在很多接收端还要考虑避免NACK风暴造成雪崩。PLC用于音频,当数据缺失时使用模型根据前后数据预测丢失的数据。
1)接口层包括Web API和WebRTC C++ API,Web API给Web开发者提供了JavaScript接口,这样Web端就具备了接入WebRTC的能力;WebRTC C++ API面向的是浏览器开发者,让浏览器开发商具备集成WebRTC的能力。当然,WebRTC C++ API也可以用于Native客户端接入;
rtc-router负责收发主播的音视频数据。主播可以收到同一个频道内其他人的音视频流。如果需要服务器混流,则访问注册中心并采用Google的有界负载一致性哈希算法(Consistent Hashing with Bounded Loads)选取rtc-mixer节点,并往对应节点推送主播的音视频流。