Получился черный экран при записи экрана с xvfb на устройстве ffmpeg x11grab

6184
shawnzhu

Я пытаюсь записать видео с запущенного 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 

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

5
Черные в соответствии с каким игроком (ами)? Пожалуйста, покажите полный вывод консоли для каждой команды `ffmpeg`. LordNeckbeard 10 лет назад 0
Следуя [документам] (https://ffmpeg.org/ffmpeg-devices.html#x11grab), я также добавил `-show_region 1` к аргументам. Все еще не повезло. Что-то, что выделялось для меня: даже область не отображается на дисплее. Если я запускаю это на главном экране `: 0.0`, оба работают (я получаю видео * и * вижу регион-границу). Если я запускаю на другом экране (как с `vncserver`), ни один не работает. exhuma 8 лет назад 0

2 ответа на вопрос

4
dawnfantasy

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

например

Xvnc -geometry 1024x768 -depth 16 :10 <<---WORKS Xvnc -geometry 1024x768 :10 <<---does NOT work, produce black screen. 
`` 16``, кажется, используется по умолчанию (согласно man-странице Xvnc4). У меня та же проблема, и я пробовал и `` 16``, и `` 24`` как глубину. Еще есть черное видео. У вас все еще есть команда, которую вы использовали для `` ffmpeg``? exhuma 8 лет назад 3
1
exhuma

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

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

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

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

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

Похожие вопросы