2011-05-27 162 views
6

是否可以从通过Axis相机的RTSP发送的H.264流中读取绝对时间戳?H.264 RTSP绝对TIMESTAMP

有必要知道相机何时拍摄了相框。

感谢 安德烈

回答

1

时间戳被包含在RTP流。 RTSP是一种可用于启动/控制RTP媒体会话的协议。我假设使用RTP,你可以看看RTP头here

+0

但我认为由RTP协议起诉的时间戳是RELATIVE,而不是绝对的。不是吗? 时间戳:32字节;给出分组中第一个音频/视频字节的采样时刻;用于消除由网络引入的抖动 - 时钟频率取决于应用 - 随机初始值 - 几个数据包可能具有相同的时间戳(例如相同的视频帧),或者甚至是无序的(例如MPEG中的插入帧 – Grifo 2011-05-27 12:28:41

+1

如果I正确理解你,你需要原始的演示时间,RTCP发送者报告可以用于这个目的:它们包含一个RTP时间戳和一个NTP时间戳,参见http://tools.ietf.org/html/rfc3550#section-6.4 .1和http://tools.ietf.org/html/rfc3550#section-4 – Ralf 2011-05-27 13:29:35

3

正如Ralf已经说过的 - RTP时间戳相对于随机时钟 - 它们仅用于计算两个帧(或一般的RTP包)之间的差异。为了将这些相对值同步到挂钟,您可以使用RTCP发送器 - 只需查看Ralf提供的链接即可。

对于使用H.264的Axis产品来说,这样做效果很好。如果您使用的是MPEG4,则Axis固件会有问题,RTCP SR中的绝对时间戳也不可靠 - 在这种情况下,您必须将相对RTP时间戳同步到您的客户端挂钟。