Linux Tux logo

Данная заметка устарела, более свежая находится тут – Захват видео и звука из OpenGL приложений под Linux.

И приложения тоже стареют.

В поисках утилиты захвата экрана OpenGL-приложения я наткнулся на captury (media-video/captury). Captury не умеет паковать фреймы “налету”, просто пишет их как есть в контейнер своего формата. Но есть утилита, которая умеет работать с этим форматом.

Захват:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
captury --output-dir=./ -- your_opengl_application
captury --output-dir=./ -- your_opengl_application
captury --output-dir=./ -- your_opengl_application

Для старта захвата видео нужно нажать кнопочку F12 (настройки меняются в /etc/captury.conf, спасибо за подсказку ftrvxmtrx).

Воспроизведение:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cpsrecode -i capture.cps -o - | mplayer -demuxer y4m -
cpsrecode -i capture.cps -o - | mplayer -demuxer y4m -
cpsrecode -i capture.cps -o - | mplayer -demuxer y4m -

Кодирование в theora:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cpsrecode -i capture.cps -o out.ogg -c theora
cpsrecode -i capture.cps -o out.ogg -c theora
cpsrecode -i capture.cps -o out.ogg -c theora

или

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cpsrecode -i capture.cps -o - | ffmpeg2theora -o out.ogg -
cpsrecode -i capture.cps -o - | ffmpeg2theora -o out.ogg -
cpsrecode -i capture.cps -o - | ffmpeg2theora -o out.ogg -