GStreamer Playbin 视频速度太快

GStreamer Playbin video speed is too fast

我正在尝试使用 GStreamer 和 v4l2loopback 创建虚拟网络摄像头。问题是我想用Playbin但是用的时候视频速度太快了。例如,当我执行以下命令时会发生这种情况:

gst-launch-1.0 -v playbin uri=file:/vagrant/test.avi 
video-sink="videoconvert 
            ! videoscale 
            ! video/x-raw,format=YUY2,width=320,height=320 
            ! v4l2sink device=/dev/video0"

将 "framerate=20/1" 添加到上限会抛出 "Not negotiated error",同时将其设置为“30/1”,但无助于解决速度问题。

另一方面,我在执行以下命令时速度正常:

 gst-launch-1.0 -v filesrc location=/vagrant/test.avi 
       ! avidemux 
       ! decodebin 
       ! videoconvert 
       ! videoscale 
       ! "video/x-raw,format=YUY2,width=320,height=320" 
       ! v4l2sink device=/dev/video0

我在 Playbin 的最后一个例子中尝试了很多过滤器组合,但 none 有帮助。

非常感谢任何帮助!

问题出在 VirtualBox 之上的虚拟机 运行。更准确地说 - 我打开了 3d 加速,这导致所有视频都以 2 倍的速度播放。

通过设置 --accelerate3d=off 关闭 3d 加速有助于解决问题。