以特定帧率使用 gst-play 播放 h264 原始流

Play h264 raw stream with gst-play at certain framerate

我有 h264 格式的原始流。现在我想以 30 FPS 的速度播放流。有什么办法可以用 gst-play 或 gst-launch playbin 做到这一点吗?

似乎playbin没有帧率的属性。

gst-launch playbin uri=file:///path/to/teststreame.h264

如何控制上述管线的播放帧率?

如果你想使用 playbin,你可能必须编写一个应用程序,使用 playbinvideo-sink 属性,然后将它传递给另一个使用 [=13] 的 bin =] 内。那个 bin 应该是这样的:

videorate ! video/x-raw,framerate=30/1 ! autovideosink

如果您想从命令行 运行 可以使用 gst-launch 和视频速率元素以及一些上限来控制帧速率。缺点是您需要自己写出完整的管道。

gst-launch-1.0 filesrc location=/tmp/test.h264 ! video/x-h264 ! h264parse ! avdec_h264 ! videoconvert ! videorate ! video/x-raw,framerate=30/1 ! autovideosink