嗨,请有人向我解释一下如何实现两个RTP流之间的唇同步(来自同一个RTSP会话)。我正试图为ffmpeg AVPacket计算合适的点数,但我遗漏了一些东西,我无法理解这一点。我有以下数据:
来自RTCP发件人报告的u64RTCP_NTP_TS - NTP时间戳
u32RTCP_TS - RTCP发件人报告中的时间戳
u32AudioRTP_TS -来自音频RTP数据包的时间戳
u32VideoRTP_TS -来自视频RTP数据包的时间戳
我已经寻找了一个答案,但我仍然无法清楚地了解该如何实现这一目标--从计算上讲,我仍然缺少什么。
发布于 2017-05-18 07:58:37
好的,我已经通过浏览Live555的代码找到了答案,所以学分应该放在那里,为此非常感谢他们。答案位于文件RTPSource.cpp RTPReceptionStats::noteIncomingPacket和RTPReceptionStats::noteIncomingSR中。
支持这个想法非常简单,值得注意的一点是,在计算之后,当前的时间戳被设置为同步时间戳,并且还可以被RTCP SR报告覆盖(而且它应该被覆盖)。
因此,RTSP会话中任何流的表示时间戳应该大致相同。
https://stackoverflow.com/questions/43890212
复制相似问题