2014-09-20 1 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)를 재생할 때 비어있는 (예 : 녹색) 상자로 나타납니다.

저는 fbmpeg 버전 0.8.16-4 : 0.8.16-0ubuntu0.12.04.1을 nvidia-331 드라이버가있는 우분투 12.04.5 LTS에 사용하고 있습니다 (효과는 이전 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 (no effects) "에서는" 합성 "은 꺼지게됩니다. 즉, 개별 윈도우가 그래픽 카드에 의해 완전히 관리되고 시각화 된 버퍼로 직접 끌어 들여집니다 (윈도우 관리자가 윈도우 내용에 액세스하지 못하도록합니다)."합성 "을 사용하면 윈도우가 버퍼로 그려집니다 (소프트웨어가 효과를 추가 할 수있는) 프레임 버퍼로 전송 된 후 그래픽 카드는 개별 창이 아닌 최종 프레임 버퍼를 시각화합니다. 따라서이 프레임 버퍼는 ffmpeg를 통해 액세스 할 수도 있습니다. "

관련 문제