0

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

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

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

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

4

1 回答 1

0

您使用的是 GST 1.0 还是 GST 0.10?GST 1.0 中没有公开“时间戳”,而在 0.10 中没有 PTS/DTS。

于 2013-11-12T13:48:22.773 回答