GStreamer Playbin скорость видео слишком высокая
Я пытаюсь создать виртуальную веб-камеру, используя 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 ответ
Проблема заключалась в том, что виртуальная машина работала поверх VirtualBox. Если быть более точным - у меня было включено ускорение 3d, в результате чего все видео воспроизводились со скоростью 2x.
Отключение 3d ускорения настройкой --accelerate3d=off
помог решить вопрос.