Бывает иногда надо произвести видезапись с экрана (скринкаст). Linux, как обычно, предоставляет несколько способов выполнения задачи. Рассмотрим один из вариантов — консольную утилиту ffmpeg.
Минимальный набор параметров ffmpeg для записи с экрана:
ffmpeg -f x11grab -i :0.0 -vcodec qtrle screencast.mov
где:
- -i файл с которого копировать, в нашем случае :0.0 — нулевой экран
- -f исходный формат файла, x11grab — захват с X11
- -vcodec кодек для кодирования видео, qtrle — видеокодек QuickTime
Если нужен формат FLV (Flash Video), то используется кодек flashsv.
Список доступных кодеков можно посмотреть командной:
ffmpeg -codec
Зададим смещение от левого верхнего угла 64×128 и размер копируемой области 1024×768:
ffmpeg -s 1024x768 -f x11grab -i :0.0+64,128 -vcodec qtrle screencast.mov
Также можно установить количество кадров в секунду (24) и задать разрешение получаемого видеофайла (800×600).
ffmpeg -r 24 -s 1024x768 -f x11grab -i :0.0+64,128 -vcodec qtrle -s 800x600 screencast.mov
Запретим запись звука (-an) и выключим подтверждение при перезаписи файла (-y):
ffmpeg -an -y -r 24 -s 1024x768 -f x11grab -i :0.0+64,128 -vcodec qtrle -s 800x600 screencast.mov