В этом посте затронем тему записи скринкастов под linux. Будет рассмотрено несколько наиболее популярных утилит для захват а видео с монитора компьютера, также обратим внимание на их функционал, для одних детально, для других — поверхностно.
Вообще, в linux не так много кандидатов, которые могут устроить нас по всем показателям. Как оказалось, найти адекватную программу для указанных целей достаточно проблематично. Выбраны несколько: старый добрый ffmpeg, небезызвестные XVidCap и recordMyDesktop, а также подающий надежды новичок — eidete.
ffmpeg
Что он умеет и как это использовать в посведневной жизни:
"Склеивание" музыки и видео:
$ ffmpeg -i son.wav -i video_origine.avi video_finale.avi
Замена одной звуковой дорожки на другую (например, более качественную):
$ ffmpeg -i new.wav -i video.avi out.avi
Запись скринкаста (запись с монитора компьютера):
$ ffmpeg -f x11grab -s 1366x768 -r 25 -b 1500 -bt 500 -aspect 1,3333 -sameq -i :0.0+0,0 -f alsa -async 1 -ac 2 -i hw:0,0 -acodec libmp3lame ~/MyVideo.avi
В этом примере будет записан также звук.
Перекодирование из одного формата в другой:
$ ffmpeg -i video.avi -f webm video.webm
Извлечение аудиодорожки из видеозаписи:
$ ffmpeg -i video.avi -f mp3 audio.mp3
Запись звука с микрофона:
$ ffmpeg -f alsa -async 1 -ac 2 -i hw:0,0 -acodec libmp3lame sound.mp3
Создание gif-анимации из видео:
$ ffmpeg -i video.avi animation.gif
Получить сведения о видео:
$ ffmpeg -i video.avi
Основные ключи:
- i - входной файл
- s - разрешение экрана для нашей записи
- r - количество кадров в секунду
- ac - количество каналов (для аудио)
- qscale - регулировка уровня сжатия
- bt - битрейт
Проверить поддерживаемые форматы файлов можно командой ffmpeg -formats
.
Остальное можно найти в мануале - man ffmpeg
. Там до вас даже постараются донести, как всё это работает.
Следующий кандидат - XVidCap
Кодирует на лету и имеет множество разных форматов. Автору не подошёл. Это тот редкий случай, когда всё вроде нормально, но субъективно что-то не нравится.
recordMyDesktop
Используют многие. Автору он не подошёл по причине непонятных фризов при записи ролика. Возможно, так отвратно он работает на отнюдь не топовом ноутбуке - нужно больше мощности?
Кроме того, recodrMyDesktop записывает файл в непотребном формате, который всё равно придётся перекодировать.
Имеет и консольный вариант:
$ recordmydesktop --height 400 --width 600 --channels 1 --no-sound --overwrite -o video.ogv
В приведённом примере несложно разобраться: мы запишем файл video.ogv
с
размерами 600x400 и без звука.