Gentoo logo

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

Но не все так плохо, есть приложение glc, которое развивается и работает. При этом позволяет так же захватить и звук. К сожалению данного пакета нет в официальном дереве портежа, но есть в оверлее glc. Подключить оверлей можно так:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
layman -f -a glc -o 'http://nullkey.ath.cx/glc/overlays.xml'
layman -f -a glc -o 'http://nullkey.ath.cx/glc/overlays.xml'
layman -f -a glc -o 'http://nullkey.ath.cx/glc/overlays.xml'

Установка производится как обычно:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
emerge glc
emerge glc
emerge glc

Но предварительно придется размаскировать несколько пакетов:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
media-video/glc
dev-libs/packetstream
dev-libs/elfhacks
media-video/glc dev-libs/packetstream dev-libs/elfhacks
media-video/glc
dev-libs/packetstream
dev-libs/elfhacks

Захват осуществляется командой

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
glc-capture -v 5 -f 20 -r 0.5 -i --disable-audio opengl_app
glc-capture -v 5 -f 20 -r 0.5 -i --disable-audio opengl_app
glc-capture -v 5 -f 20 -r 0.5 -i --disable-audio opengl_app

здесь -v 5 означает пятый уровень логирования;
а -f 20 означает с какой частотой будет захватываться видео;
параметр -r 0.5 означает фактор рисайза;
для отображения индикатора захвата используется параметр -i.

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

Это не единственные параметры, подробнее можно посмотреть выполнив команду:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
glc-capture --help
glc-capture --help
glc-capture --help

Запись производится в собственный формат, поэтому воспроизвести полученную запись можно командой

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
glc-play opengl_app-1234.glc
glc-play opengl_app-1234.glc
glc-play opengl_app-1234.glc

Перекодировать видео можно так:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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

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