RTC音视频同步场景:
音视频不在同一个时间点开始采集,如在视频先采集,音频后采集的情况下。我们不能贸然的认为音频起点来对齐视频起点,这种情况下,如何对音视频进行处理,就涉及到了音视频同步的知识。
解决思路:
通过现有条件,我们拥有RTP和SR,那么是不是可以用这两个东西做文章呢?答案是,当然可以
首先关注几个关键词:
capture time,render time,rtp的 timestamp,sr,计算ntp
相关内容可以参考另一篇文章内容详解
我们把重点聚焦在EncodedImageCallback::Result RtpVideoSender::OnEncodedImage
// 这段代码是重头戏,设置rtcp timestamp和ntp的对应关系,用于生成sr
if (!rtp_streams_[stream_index].rtp_rtcp->OnSendingRtpFrame(
encoded_image.Timestamp(), encoded_image.capture_time_ms_,
rtp_config_.payload_type,
encoded_image._frameType == Vid