如何在Gstreamer管道中控制帧速率?

8

我有一个以60fps编码的流,但我的gstreamer管道以fps播放它,所以视频看起来非常慢。我已经创建了一个gstreamer管道,如下:

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

appsrc会将缓冲区推入解码器。现在我想为我正在播放的视频强制一些帧速率。我尝试在decodebinautovideosink之间插入videorate。但是它没有起作用。然后我插入了framerate=30/1来强制帧速率为30fps。但也没有起作用。那么如何在gstreamer管道中为解码器强制帧速率呢?

1个回答

8

在未见过你尝试过的其他流水线之前,我想到了这个:

gst-launch-1.0 filesrc location=movie.avi ! decodebin ! \
videorate ! "video/x-raw,framerate=5/1" ! autovideosink

movie.avi包含一个30fps的视频,然后将其固定为5fps后再显示。


1
请解释一下为什么在帧速率参数中需要使用双引号? - Cloud Cho
我觉得你不需要它们,我只是加上了。 - stylesuxx
嗯...我有点困惑。你的意思是我需要"video/x-raw,framerate=5/1"还是video/x-raw,framerate=5/1也可以? - Cloud Cho
是的,我认为这并不重要。 - pedro_bb7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接