如何控制 gstreamer 管道中的帧速率?

jit*_*hin 6 c frame-rate decode gstreamer

我的 astream 编码为 60fps,但我的 gstreamer 管道以 fps 播放,所以视频看起来很慢。我创建了一个 gstreamer 管道作为

appsrc name=src ! video/x-h264 ! decodebin ! autovideosink sync=false
Run Code Online (Sandbox Code Playgroud)

appsrc 会将缓冲区推送到解码器中。现在我想为我正在播放的视频强制一些帧速率。我尝试videoratedecodebin和之间插入一个autovideosink。但它没有用。然后我插入framerate=30/1强制帧速率为 30fps .. 但这也不起作用; 那么如何在 gstremer 管道中强制解码器的帧率呢?

sty*_*uxx 6

没有看到您尝试过的其他管道,我想出了这个:

gst-launch-1.0 filesrc location=movie.avi ! decodebin ! \
videorate ! "video/x-raw,framerate=5/1" ! autovideosink
Run Code Online (Sandbox Code Playgroud)

movie.avi 包含一个 30fps 的视频,然后在显示之前固定为 5fps。