2014-09-20 3 views
0

Я пытаюсь захватить презентацию слайдов как видео. Я использую следующую команду, чтобы захватить изображение на экране компьютераffmpeg не удается захватить видео на экране

ffmpeg \ 
    -f x11grab -s 1024x768 -r 25 -i $DISPLAY \ 
    -f alsa -i pulse \ 
    -vcodec libx264 -preset ultrafast -vb 1000k \ 
    -acodec libmp3lame -ab 128k \ 
    test.avi 

Это работает (окна приложения на экране будут видны и звук записываются в test.avi), но проблема: Любое видео на экране (например, видео в формате YouTube, запущенном в окне браузера, а также, например, видео, воспроизводимое mplayer) отображается только как пустое (например, зеленое) поле, когда я воспроизвожу захваченное видео (test.avi).

Я использую версию ffmpeg 0.8.16-4: 0.8.16-0ubuntu0.12.04.1 на Ubuntu 12.04.5 LTS с драйвером nvidia-331 (эффект аналогичен старшему nvidia-304).

Я бы очень признателен за любые предложения, спасибо большое!

ответ

0

Отключить ускорение видео для видеоплеера. В настоящее время видео накладывается видеооборудованием и не нарисовано с использованием программного обеспечения, поэтому его невозможно захватить, просто сделав скриншоты.

0

Я случайно столкнулся с решением проблемы, хотя я ее не понимаю. Кажется, что это зависит от используемого оконного менеджера. Я либо использую «Gnome Classic», либо «Gnome Classic (без эффектов)» (выбран в рамке входа).

Захват видеороликов, запущенных на экране, выходит из строя с версией «без эффектов» (вы видите пустое поле в записи), но он отлично работает (без каких-либо изменений ни плееру, ни ffmpeg) под другим.

Это решает мою проблему, но мне было бы любопытно, как диспетчер окон влияет на проблему захвата. Я узнал, что «Gnome Classic (без эффектов)» использует Metacity, тогда как «Gnome Classic» использует Compiz (см. http://wiki.ubuntuusers.de/GNOME3_Fallback-Modus, на немецком языке).

Я думаю, что njahnke прав, что имеет какое-то отношение к аппаратным ускорениям (спасибо за ответ), но отношение к диспетчеру окон непонятно.

Возможно, полезно знать, кто-то сталкивается с той же проблемой.

[Изменить] Я только что узнал от коллеги (я цитирую и переводю) следующее: «[Отношение к оконному менеджеру] очевидно. В« Gnome Classic (без эффектов) »так называемый" композиция "отключается, то есть отдельные окна обращаются непосредственно к буферам, которые полностью управляются и визуализируются графической картой (что препятствует тому, чтобы оконный менеджер имел доступ к содержимому окна). С« компоновкой »окна вставляются в буферы (к которым программное обеспечение может добавлять эффекты) и только потом передается в буфер кадров. Затем графическая карта визуализирует последний буфер кадра, а не отдельные окна. Таким образом, этот буфер кадра также может быть доступен с помощью ffmpeg. "

Смежные вопросы