Запись игрового экрана

Запись игрового экрана

Я снимаю игровые видео и недавно установил Ubuntu, и не смог найти хорошую программу для записи экрана для игр. Есть ли какие-нибудь рекомендации (предпочтительно бесплатные), которые могут записывать в HD, использовать несколько источников звука (например, гарнитуру и звук компьютера) и есть ли в Ubuntu Software Center? Если его нет в Software Center, я все равно могу его получить, просто предпочтительнее в Software Center. Я уже пробовал Kazam Screencaster и RecordMyDesktop, но они мне не подошли. Спасибо, ребята!

решение1

Я могу поручиться за ответ, который дал Grumbel о recordmydesktop в терминале. Он оказался лучшим, когда дело доходит до использования ресурсов. Также ffmpeg/avconv. Но есть несколько факторов, которые следует учитывать при записи:

  1. Сколько об/мин у вашего жесткого диска (предполагая, что у вас нет SSD, в таком случае не беспокойтесь о жестком диске). Если у него 5400 об/мин, у вас больше шансов, что при записи во время игры видео будет выглядеть не плавно или игровой процесс будет казаться медленнее. Если у него 7200 об/мин и в довершение всего у жесткого диска большой кэш (например, 16 МБ, 32 МБ или 64 МБ), то у вас будет лучший опыт.

  2. Какая у вас видеокарта. Например, у меня был случай, когда у пользователя была FX 5200. Я имею в виду настоящую Nvidia FX 5200. Серьёзно?.. Нет такой мощности в мире, которая позволит вам записать игру, играя на этой видеокарте, плавно и кристально чисто. Так что чем лучше ваша видеокарта, тем лучше будет опыт.

  3. Мощность процессора. Ожидаете создать лучшую и потрясающую запись игры, но у вас Intel Celeron или AMD Duron... черт возьми, нет. Такая видеозапись будет действительно ДЕЙСТВИТЕЛЬНО отстойной. Если ваш процессор недостаточно мощный (и рядом с ним ваша материнская плата), то не делайте странное лицо, когда увидите, что запись во время игры сильно тормозит, и это сделает видео ужасным.

По моему опыту, имея хороший компьютер с достаточным количеством ЦП, ОЗУ, ВИДЕО и другими очевидными вещами для записи (особенно по опыту скорости чтения/записи жесткого диска), вы можете использовать Kazam для этого (раз уж вы говорите о HD). Но не тот Kazam, который идет с Software Center, а тот, который идет в PPA. Он имеет лучшую производительность, чем тот, который идет в PPA. По крайней мере, по сравнению с тем, что в 12.04 или 12.10. Если вы хотите попробовать, то сделайте следующее:

sudo add-apt-repository ppa:kazam-team/unstable-series
sudo apt-get update && sudo apt-get install kazam

Но примите во внимание, что:

  1. При записи, в зависимости от записывающего приложения, записанное видео может быть отправлено напрямую на HDD/SDD, в этом случае оно будет съедать часть скорости жесткого диска, что повлияет на то, как будет ощущаться игра. В другом случае, в зависимости от доступного объема оперативной памяти, оно отправит его в оперативную память, а затем начнет его обрабатывать (кодируя видео на лету), затем записывая на диск с интервалами.

  2. В любом случае помните, что видео в большинстве случаев будет кодироваться во время записи игры. Это означает, что оно займет часть вашей оперативной памяти, процессора и скорости жесткого диска. Так что чем больше у вас всего этого, тем меньшее влияние вы почувствуете.

  3. Если ваша видеокарта и/или процессор оптимизированы для определенных методов кодирования (например, H.264), то это очень поможет.

Заметьте, я не упоминаю звук. Это потому, что звук меньше влияет на производительность ПК, чем само видео.

Для примера у меня есть вот такойВИДЕОсделано с использованием Ubuntu 13.04 на Intel i7 2600 с 16 ГБ ОЗУ и Nvidia 560 TI. У меня есть Intel 120 ГБ SSD с материнской платой Intel DZ68DB... да, я знаю... все Intel. В любом случае, вы можете увидеть, как ведет себя видео.

Для нескольких источников звука Kazam (тот, что в PPA) предлагает:

введите описание изображения здесь

Как вы видите, у вас есть звук из динамиков и звук из микрофона.

решение2

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 минут или около того, чтобы не рисковать испорченным потоком.

Для правильного захвата игры вам необходимоКЗС, который специально написан для 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для захвата вашей гарнитуры.

решение3

Вы можете попробоватьИгровой комментатор, отВибрации Ubuntu.

игровой комментатор

Игровой комментаторграфический интерфейс для проекта с открытым исходным кодом glc. Он может захватывать кадры в реальном времени любой игры Linux, использующей ALSA для звука и OpenGL для рисования.

Gamecaster имеет следующие возможности:

  • Захватывайте HD-видео из игр Linux, использующих ускорение OpenGL
  • Выберите исполняемый файл игры или одну из установленных игр, чтобы начать запись.
  • Воспроизведение файла .glc
  • Кодировать захваченный файл .glc в видеоформат webm
  • Параметры для изменения горячих клавиш захвата, битрейта видео и количества потоков ЦП
  • Поддержка индикатора Ubuntu

Я обновил Gamecaster для Ubuntu 12.04 и 12.10. Он включает в себя важное исправление ошибки, которое предотвратит сбой Gamecaster при запуске, если вы используете на рабочем столе любой другой язык, кроме английского.

На момент написания статьи доступно только для 12.04 и 12.10. Разработка, похоже, прекратилась. Нажмите комбинацию клавиш: CTRL- ALT- T,
чтобы открыть терминал, и скопируйте/вставьте коды ниже.

ВНИМАНИЕ! GAMECASTER все еще находится в стадии альфа-версии (0.3)

sudo add-apt-repository ppa:niteshgupta16/gamecaster-stable
sudo apt-get update
sudo apt-get install gamecaster

исходный код tar-шариковздесь

решение4

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

Связанный контент