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
для захоплення гарнітури.