Запись экрана из консоли
При необходимости записи видеоролика с рабочего стола без использования графических программ может быть использована утилита ffmpeg, работающая в командной строке и поддерживающая большое количество аудио- и видеоформатов.
FFmpeg устанавливается из стандартного репозитория командой:
sudo dnf install ffmpeg
Для записи видео с экрана в формате QuickTime (MOV) без звука используется следующая команда:
ffmpeg -r 50 -g 500 -s 1366x768 -f x11grab -i :0.0 -vcodec\ qtrle screencast.mov
где параметры:
-f x11grab— источник захвата, вывод X-сервера;-s 1366x768— размер захватываемой области;-r 50— частота кадров в секунду;-g 500— интервал между ключевыми кадрами;-i :0.0— экран X-сервера (дополнительно можно указать смещение: -i :0.0+10,20);-vcodec qtrle— видеокодек QuickTime RLE;screencast.mov— имя выходного файла.
Примечание – Параметры
-rи-gподбираются эмпирически, в зависимости от производительности Системы и цели записи.
Для записи видео со звуком необходимо определить устройство захвата аудио, выполнив команду:
arecord -l
Пример использования FFmpeg с записью звука:
ffmpeg -f alsa -ac 1 -i hw:2,0 -acodec pcm_s16le -f x11grab\ -s 1366x768 -r 50 -g 500 -i :0.0 -vcodec qtrle screencast.mov
где параметры:
-f alsa— захват звука через ALSA;-ac 1— количество аудиоканалов (1 — моно, 2 — стерео);-i hw:2,0— аудиоустройство (card 2, device 0);-acodec pcm_s16le— кодек без сжатия;- остальные параметры аналогичны описанным в предыдущем примере команды.
Перекодирование видео
В случае необходимости сжатия или изменения формата видеозаписи возможно использование следующих команд:
- Простое перекодирование (по умолчанию):
ffmpeg -i screencast.mov screencast2.avi
- Кодирование с использованием libx264 в формат MKV:
ffmpeg -i screencast.mov -vcodec libx264 -crf 22 -threads 0\ -acodec libmp3lame -ar 44100 -ab 128k screencast2.mkv
- Кодирование с использованием libxvid в формат AVI:
ffmpeg -i screencast.mov -vcodec libxvid -qscale 8 -acodec\ libmp3lame -ab 128k -ac 2 screencast2.avi
где параметры:
-crf— качество видео (чем меньше значение, тем выше качество);-qscale— аналогичноcrf, значение от 1 до 31 (меньше — лучше качество);-ac 2— запись стерео;-threads 0— использование всех доступных потоков CPU.