How does audio and video in a webrtc peerconnection stay in sync? I am using an API which publishes audio and video (I assume as one peer connection) to a media server. The audio can occasionally go out of sync up to 200ms. I am attributing this to the possibility that the audio and video are separate streams and this accounts for the why the sync can be out.
问问题
292 次
2 回答
2
RTP/RTCP(WebRTC 使用)传统上使用RTCP Sender Report。这允许每个 SSRC 流在 NTP 时间戳上同步。浏览器今天确实使用它们,所以应该可以。
你在做任何协议桥接或任何可能只是 RTP 的事情吗?您使用的是什么媒体服务器?
于 2021-03-04T17:30:29.850 回答
2
除了肖恩的回答:
浏览器中的 WebRTC 播放器对到达的音频和视频样本之间的时间戳差异的容忍度非常低。您的音频和视频流必须精确对齐(交错),即从网络接收到的最后一个音频样本的时间戳,与从网络接收到的最后一个视频帧的时间戳相比,应该是 +- 200 毫秒左右。否则 WebRTC 播放器将停止使用 NTP 时间戳并单独播放流。这是因为 WebRTC 播放器试图将延迟保持在最低限度。不确定 WebRTC 团队的决定是否正确。如果您的带宽不足,或者实时编码器提供的流未与时间戳对齐 - 那么您将无法同步播放。在我看来,WebRTC 播放器可以有一个设置 - 是使用该容差值还是始终同步播放,使用 NTP 时间戳,但以延迟为代价。
于 2021-03-04T19:01:38.753 回答