RecordMyDesktop - самое простое решение, вы используете его следующим образом:
recordmydesktop \
-o "/tmp/recording.ogv" \
--fps 30 \
--no-cursor \
--full-shots \
--on-the-fly-encoding \
-x 22 -y 249 --width 320 --height 240
Однако он медленный и недостаточно быстрый для игр с большими разрешениями. Это также имеет проблему, когда дело доходит до очень длинных записей, которые имеют тенденцию к повреждению, поэтому рекомендуется останавливать и перезапускать кодировку каждые 30 минут или около того, чтобы не рисковать поврежденным потоком.
Для правильного захвата игры вам нужен GLC , который специально написан для OpenGL и работает только с приложениями OpenGL. Это не в Ubuntu, но вы можете скачать исходный код и скомпилировать его самостоятельно. После компиляции вам нужно начать игру glc-capture
с помощью строки вроде:
glc-capture -l /dev/stdout -v 3 -i -j -o /tmp/recording.glc -b back your_game
GLC достаточно быстр для захвата игр с разрешением 1280x720 и более в зависимости от вашего компьютера.
Если вам нужно больше гибкости при захвате нескольких аудиоисточников, вы можете использовать инструменты pulseaudio. Наиболее важным является то pavucontrol
, что это приложение микшера для pulseaudio, которое позволяет вам решать, что записывается, и даже переключать источники записи во время выполнения. Чтобы выбрать записывающее устройство, перейдите в раздел «Устройства ввода / Все устройства ввода» и выберите одно из них с именем «Монитор встроенного аудио-аналогового стерео». Все мониторы позволяют записывать аудио выход. Это то, что вам, вероятно, придется делать при использовании GLC и recordmydesktop, так как я думаю, что по умолчанию они будут записывать линейный вход или что-то в этом роде, а не фактический вывод динамика.
Pulseaudio также поставляется с многочисленными модулями, которые позволяют перенаправлять или фильтровать вывод. Например, чтобы создать виртуальную звуковую карту, которая не выводится на ваши динамики, вы используете:
pactl load-module module-null-sink sink_name=nullsink
Документации может быть немного не хватает, но она должна позволять вам делать большинство вещей, которые вы, возможно, захотите сделать. Для отдельной записи звука игры и выхода на гарнитуру можно настроить pavucontrol
так, чтобы GLC записывал звук игры, а затем использовать отдельную parecord
для захвата гарнитуры.