WebRTC'ogog-remb'和'transport-cc'SDP线

时间:2017-06-13 09:31:04

标签: c++ webrtc rtp sdp rtcp

我想知道这个SDP线路的含义是什么,因为我试图获得最平滑的帧速率,丢包率为5%到10%。

我不知道的是: a = rtcp-fb:100 goog-remb a = rtcp-fb:100 transport-cc

我不知道为什么firefox(例如)正在删除“transport-cc”功能,即使我必须解码不完整的视频帧,我还是想让流帧速率流畅吗?

Bests问候,我希望有人可以帮助我:)

2 个答案:

答案 0 :(得分:3)

GustavoGarcía写了一篇关于这篇文章的博文Bandwidth Estimation in WebRTC (and the new Sender Side BWE)

总结一下: goog-remb transport-cc 都是拥塞控制机制,goog-remb是一种较旧的方法而transport-cc是一种更新的方法。

我最好的猜测是firefox正在剥离 transport-cc ,因为firefox尚未采用 transport-cc 更改。根据我的经验,Chrome在webrtc更改方面始终领先于Firefox。

在有损网络中,这些拥塞控制算法可以告诉发送方降低发送比特率。降低发送比特率可以减少损失(以质量为代价)。但是,如果网络总是有损10%,就像嘈杂的WiFi网络一样,您仍然可能会遇到视频帧解码问题。

处理视频解码失败是vp8 / h264视频编码参数的函数,而不是拥塞控制。正如我所说,拥塞控制可能有助于减少损失(如果您使用WebRTC数据包压倒您的网络),但如果您只有一个有损网络(例如,无线网络),拥塞控制算法只会降低质量而不会改善解码失败

答案 1 :(得分:1)

google-remb和transport-cc只能处理拥塞,如果你想要获得最平滑的帧速率,丢包率为5%到10%,你必须区分不同的情况:

  1. 网络拥塞造成的数据包丢失
  2. 使用simulcast或svc空间可扩展性,选择低分辨率

    1. 由于wifi设备或其他原因导致的固定数据包丢失
    2. 使用nack和fec,增加redundency