Как записывать экран из командной строки в Linux
Когда речь заходит о записи экрана (записи видео с вашего рабочего стола), большинство людей подумают о настольном программном обеспечении с удобным интерфейсом. Для Linux мы рассмотрели несколько инструментов, таких как Kazam и Screentoaster. Однако многие люди не знают, что вы также можете записывать экран из командной строки с помощью FFMPEG. Это простая (и очень длинная) настраиваемая команда, которая позволяет вам записывать видео с вашего рабочего стола.
Установка FFMPEG
FFMPEG доступен в репозиториях большинства дистрибутивов. Установите его с помощью команды ниже:
Ubuntu
sudo apt-get install ffmpeg
Fedora
sudo yum install ffmpeg
OpenSUSE
sudo zypper install ffmpeg
Arch Linux
sudo pacman -S ffmpeg
Не можете найти его в репозиториях вашего дистрибутива? Возможно, вам нужно загрузить его напрямую с ffmpeg.org и установить таким образом.
Настройка команды
Перед тем как начать запись экрана, команду нужно настроить в соответствии с вашими потребностями. Команда ниже не имеет указанного разрешения, будет записывать с частотой 30 кадров в секунду и выводить файл в формате .MKV.
ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s YxZ -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 output.mkv
Узнайте родное разрешение вашего экрана и замените YxZ на него (например: 1920×1080). Не довольны только 30 кадрами в секунду? Измените -r 30 на желаемую частоту кадров.
Запись экрана
Запись экрана так же проста, как вставка вышеуказанной команды (после того, как вы изменили ее в соответствии с вашими потребностями) в терминал. Пока команда выполняется, вы сможете точно знать, что делает FFMPEG. Вы заметите что-то похожее на изображение ниже.

Вот и все. С этой длинной командой вы записываете экран. Хотите остановить запись? Нажмите клавишу “q” или закройте окно терминала полностью. Это выведет информацию о записи, которая только что завершилась. Эта информация полезна, так как она может рассказать вам все, что произошло в процессе.
video: 3245kB audio: 6451kB subtitle: 0kB other streams: 0kB global headers: 0kB muxing overhead: 1.933424% [libx264 @ 0xc35d40] frame I: 4 Avg QP: 0.00 size: 311776 [libx264 @ 0xc35d40] frame P: 985 Avg QP: 0.00 size: 2107 [libx264 @ 0xc35d40] mb I I16..4: 100.0% 0.0% 0.0% [libx264 @ 0xc35d40] mb P I16..4: 30.5% 0.0% 0.0% P16..4: 0.0% 0.0% 0.0% 0.0% 0.0% skip: 69.5% [libx264 @ 0xc35d40] coded y,u,v intra: 0.6% 0.1% 0.1% inter: 0.0% 0.0% 0.0% [libx264 @ 0xc35d40] i16 v,h,dc,p: 99% 1% 0% 0% [libx264 @ 0xc35d40] kb/s: 806.15
Переключение аудиовходов FFMPEG
Как и все приложения, FFMPEG использует Pulse Audio. Это означает, что его можно настроить. По умолчанию все приложения, записывающие звук, принимают звуковой ввод через устройство по умолчанию. Если на вашем компьютере есть микрофон (или он подключен), FFMPEG автоматически запишет звук с него и добавит его к вашей записи экрана. Если это вам не нужно, вы можете изменить это.
Установите Pulse Audio Volume Control. Это очень популярный инструмент и, следовательно, он есть в большинстве популярных репозиториев дистрибутивов. В Ubuntu (или дистрибутивах на основе Ubuntu) вы можете установить его с помощью следующей команды:
sudo apt-get install pavucontrol
Для других дистрибутивов вам просто нужно найти “pavucontrol” в вашем менеджере пакетов и установить его. После установки начните запись экрана с помощью FFMPEG и откройте “Pulse Audio Volume Control.” Внутри инструмента нажмите на вкладку записи.

На вкладке записи нажмите кнопку Встроенный аудио аналоговый стерео. Это откроет меню выбора.

В меню выберите Монитор встроенного аудио аналогового стерео. Это заставит FFMPEG записывать звук вашей системы вместо микрофона вашего компьютера. Этот трюк отлично подходит, если вы хотите записать игровой процесс или что-то, что требует звука.
Заключение
FFMPEG — это удивительный инструмент, который может делать много, много вещей. Запись экрана — это всего лишь одна из его возможностей. Немногие альтернативы могут даже захватывать видео высокого качества, обеспечивая отличную производительность. Командная строка великолепна, потому что с ее помощью вы можете быть настолько точными, насколько хотите. Вы можете указать, что хотите достичь, и увидеть, как это появляется на ваших глазах.