Ffmpeg RTP-lipsync同步
您好,有人能告诉我如何在两个RTP流(来自同一个RTSP会话)之间实现lipsync吗。我正试图为ffmpeg AVPacket计算适当的pts,但我遗漏了一些东西,我无法理解这一点。 我有以下可用数据:Ffmpeg RTP-lipsync同步,ffmpeg,rtp,Ffmpeg,Rtp,您好,有人能告诉我如何在两个RTP流(来自同一个RTSP会话)之间实现lipsync吗。我正试图为ffmpeg AVPacket计算适当的pts,但我遗漏了一些东西,我无法理解这一点。 我有以下可用数据: u64RTCP\u NTP\u TS-来自RTCP发送方报告的NTP时间戳 u32RTCP\u TS-来自RTCP发送方报告的时间戳 u32AudioRTP\u TS-来自音频RTP数据包的时间戳 u32VideoRTP\u TS-来自视频RTP数据包的时间戳 我已经搜索了一个答案,但我仍然无
u64RTCP\u NTP\u TS-来自RTCP发送方报告的NTP时间戳
u32RTCP\u TS-来自RTCP发送方报告的时间戳
u32AudioRTP\u TS-来自音频RTP数据包的时间戳
u32VideoRTP\u TS-来自视频RTP数据包的时间戳
我已经搜索了一个答案,但我仍然无法清楚地了解如何在计算方面实现这一点,我还缺少什么。好的,我通过浏览的代码找到了答案,因此学分应该放在那里,非常感谢他们。 答案位于文件
RTPSource.cpp
RTPReceptionStats::noteinomingpacket
和RTPReceptionStats::noteinomingsr
这很容易理解,值得注意的是
在计算之后,当前时间戳被设置为同步时间戳,并且也可以被RTCP SR报告覆盖(它应该会被覆盖)
因此,RTSP会话中任何流的表示时间戳都应该或多或少具有相同的时间