5

Я пытаюсь записать видео с Firefox, запущенного xvfb-run но он всегда ничего не выводит в видеофайле, кроме черного экрана.

Вот что я сделал:

запустите Firefox, откройте google.com:

$ xvfb-run firefox https://google.com

Тогда он будет использовать сервер дисплея по умолчанию номер 99. Я могу видеть информацию об отображении командой xdpyinfo -display :99 .

Скриншот работает очень хорошо по команде:

$ xwd -root -silent -display :99.0 | xwdtopnm |pnmtojpeg > screen.jpg

Начните использовать ffmpeg для записи видео:

$ ffmpeg -f x11grab -i :99.0 out.mpg

Когда я проигрываю видеофайл out.mpg , постоянно появляется черный экран.

Есть ли какой-то параметр, который я пропустил?

Обновления

Я сделал успехи, что видео работает вместо черного экрана только этой командой:

$ ffmpeg -y -r 30 -g 300 -f x11grab -s 1024x768 -i :99 -vcodec qtrle out.mov

Обратите внимание, что требуется соответствие разрешения экрана, указав дополнительные параметры для xvfb-run:

$ xvfb-run -s "-screen 0 1224x768x16" -a firefox http://google.com

Но я все еще хочу получить больше отзывов и ответов здесь.

2 ответа2

4

У меня случилась та же проблема, и я выяснил: вам нужно указать глубину (в нашем случае 16), чтобы ffmpeg не создавал черный экран.

например

Xvnc -geometry 1024x768 -depth 16 :10  <<---WORKS
Xvnc -geometry 1024x768 :10            <<---does NOT work, produce black screen.
2

Я была такая же проблема. Похоже, это как-то связано с версией ffmpeg, доступной в официальных пакетах Ubuntu (Kubuntu 15.04 в моем случае, если быть точным).

Я скачал исходники ffmpeg и с помощью некоторых документов мне удалось запустить что-то.

Процесс сборки занимает много времени! И по умолчанию многие функции (x11grab среди других) отключены. Я закончил со следующим:

./configure \
    --prefix=/home/exhuma/.local \
    --enable-x11grab \
    --enable-gpl \
    --enable-libx264 \
    --enable-libmp3lame \
    --enable-nonfree

Теперь у меня есть и видео, и звук.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .