Я снимаю игровые видео и недавно установил Ubuntu, и не смог найти хорошую программу для записи экрана для игр. Есть ли какие-нибудь рекомендации (предпочтительно бесплатные), которые могут записывать в HD, использовать несколько источников звука (например, гарнитуру и звук компьютера) и есть ли в Ubuntu Software Center? Если его нет в Software Center, я все равно могу его получить, просто предпочтительнее в Software Center. Я уже пробовал Kazam Screencaster и RecordMyDesktop, но они мне не подошли. Спасибо, ребята!
решение1
Я могу поручиться за ответ, который дал Grumbel о recordmydesktop в терминале. Он оказался лучшим, когда дело доходит до использования ресурсов. Также ffmpeg/avconv. Но есть несколько факторов, которые следует учитывать при записи:
Сколько об/мин у вашего жесткого диска (предполагая, что у вас нет SSD, в таком случае не беспокойтесь о жестком диске). Если у него 5400 об/мин, у вас больше шансов, что при записи во время игры видео будет выглядеть не плавно или игровой процесс будет казаться медленнее. Если у него 7200 об/мин и в довершение всего у жесткого диска большой кэш (например, 16 МБ, 32 МБ или 64 МБ), то у вас будет лучший опыт.
Какая у вас видеокарта. Например, у меня был случай, когда у пользователя была FX 5200. Я имею в виду настоящую Nvidia FX 5200. Серьёзно?.. Нет такой мощности в мире, которая позволит вам записать игру, играя на этой видеокарте, плавно и кристально чисто. Так что чем лучше ваша видеокарта, тем лучше будет опыт.
Мощность процессора. Ожидаете создать лучшую и потрясающую запись игры, но у вас 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
Но примите во внимание, что:
При записи, в зависимости от записывающего приложения, записанное видео может быть отправлено напрямую на HDD/SDD, в этом случае оно будет съедать часть скорости жесткого диска, что повлияет на то, как будет ощущаться игра. В другом случае, в зависимости от доступного объема оперативной памяти, оно отправит его в оперативную память, а затем начнет его обрабатывать (кодируя видео на лету), затем записывая на диск с интервалами.
В любом случае помните, что видео в большинстве случаев будет кодироваться во время записи игры. Это означает, что оно займет часть вашей оперативной памяти, процессора и скорости жесткого диска. Так что чем больше у вас всего этого, тем меньшее влияние вы почувствуете.
Если ваша видеокарта и/или процессор оптимизированы для определенных методов кодирования (например, 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.