google-chrome - Webrtc 行为 Nack & FEC

标签 google-chrome webrtc rtp simplewebrtc

我们有两个对等点的 WebRTC 应用程序,当通话正在进行时,我遇到了大约 5% 的数据包丢失(在 webrtc-internals 上检查过)。我也看到了 Nacks。

想知道我的设置中是否实现了 FEC?我确实看到了一些与 FEC 相关的 SDP 参数,如下所示,但不确定它们是否被使用。 如何检查 Webrtc 是否使用 FEC?

a=rtpmap:124 red/90000
a=rtpmap:123 ulpfec/90000

还有关于如何通过调整 Nacks 或 FEC 等来提高丢包率的建议吗?

尝试了不同的带宽和分辨率,丢包率几乎相同。

最佳答案

确定是否实际使用了 FEC 的最简单方法是使用 Wireshark 或 tcpdump 运行数据包捕获,并查找负载类型与 SDP 中的值(在您的示例中为 123 和 124)匹配的 RTP 数据包。如果您看到这些数据包,您就看到了 FEC。

需要注意的一点是,在某些情况下,FEC 可能会使数据包丢失情况变得更糟,尤其是在您因拥塞而导致背靠背数据包突发丢失的情况下。 FEC 正在传输附加数据包,这允许一组中的任何一个或两个数据包丢失并从附加数据包中恢复。

关于google-chrome - Webrtc 行为 Nack & FEC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57991366/

相关文章:

javascript - Chrome 以外的其他浏览器上的 CSS 动画填充模式?

Android 直播视频 - 音频不工作

Chrome 和 Firefox 中的 JavaScript 时间线?

webrtc - STUN/TURN 服务器连通性测试

javascript - 多方 - 与peerJS 进行视频 session

audio - 哪些库/API 允许我访问电话的实时音频波形?

c++ - 为什么我的应用程序无法解码 RTSP 流?

windows - 如何从 FFMPEG 生成 SDP 文件

html - 插入下拉菜单时表格单元格中出现额外的空白

html - 自上次 chrome 更新以来,我的 HTML 输入字段默认为 "readonly"