Эта заметка появилась взамен моей предыдущей заметки “Захват экрана OpenGL-приложения”, т.к. последняя устарела. Да и пакет media-video/captury бесследно исчез из дерева портежа. Впрочем и само приложение давно перестало обновляться.

Но не все так плохо, есть приложение glc, которое развивается и работает. При этом позволяет так же захватить и звук. К сожалению данного пакета нет в официальном дереве портежа, но есть в оверлее glc. Подключить оверлей можно так:
[sourcecode language=”bash”]layman -f -a glc -o ‘http://nullkey.ath.cx/glc/overlays.xml'[/sourcecode]

Установка производится как обычно:
[sourcecode language=”bash”]emerge glc[/sourcecode]

Но предварительно придется размаскировать несколько пакетов:
[sourcecode language=”bash”]media-video/glc
dev-libs/packetstream
dev-libs/elfhacks[/sourcecode]

Захват осуществляется командой
[sourcecode language=”bash”]glc-capture -v 5 -f 20 -r 0.5 -i –disable-audio opengl_app[/sourcecode]
здесь -v 5 означает пятый уровень логирования;
а -f 20 означает с какой частотой будет захватываться видео;
параметр -r 0.5 означает фактор рисайза;
для отображения индикатора захвата используется параметр -i.

Включить / выключить запись можно с помощью комбинации Shift+F8.

Это не единственные параметры, подробнее можно посмотреть выполнив команду:
[sourcecode language=”bash”]glc-capture –help[/sourcecode]

Запись производится в собственный формат, поэтому воспроизвести полученную запись можно командой
[sourcecode language=”bash”]glc-play opengl_app-1234.glc[/sourcecode]

Перекодировать видео можно так:
[sourcecode language=”bash”]
glc-play opengl_app-1234.glc -a 1 -o opengl_app.wav
glc-play opengl_app-1234.glc -y 1 -o – | mencoder -demuxer y4m – -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=5000 -audiofile opengl_app.wav -oac mp3lame -o opengl_app.avi
[/sourcecode]

Glc прекрасно работает в 64-х битной системе.
Вообще все необходимое написано на сайте glc.