GStreamer Playbin视频速度太快

时间:2018-05-25 21:08:45

标签: gstreamer video-processing playback v4l2loopback playbin2

我正在尝试使用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”添加到大写字母会在设置为“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上一个示例中的过滤器进行了大量组合,但没有一个帮助。

任何帮助都将受到高度赞赏!

1 个答案:

答案 0 :(得分:0)

问题在于虚拟机运行在VirtualBox之上。更确切地说 - 我开启了3D加速,导致所有视频以2倍的速度播放。

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