Gstreamer管道中的时间戳

时间:2013-11-12 07:14:30

标签: c timestamp gstreamer

我已经用我的appsrc创建了一个gstreamer管道; 管道是这样的

appsrc name=src ! video/x-h264 ! decodebin ! queue ! autovideosink 

我编写了运行此管道的代码; 我将在我的appsrc中获得h264帧,我将其推送到decodebin。我的appsrc中没有收到任何时间戳。所以我在考虑提供时间戳值(这样fps将是30fps)。 GstBuffer结构中有两个领域,timestamp领域和PTS领域, 我应该用时间戳设置哪一个。并且在参考渲染和解码器将检查这些时间戳的时钟时?

目前我正在做的是从系统时间创建一个baseclock参考,并且关于那个时候我正在递增我的时间戳,它不起作用,如果我只设置持续时间它可以正常播放,但我想要实现时间戳逻辑,以便解码器可以丢弃一些帧,如果有些迟到..我对时间戳知之甚少,所以我想了解更多关于时间戳的信息

1 个答案:

答案 0 :(得分:0)

您使用GST 1.0或GST 0.10吗? 在GST 1.0中没有“时间戳”,而在0.10中没有PTS / DTS。