среда, 11 апреля 2012 г.

Запись скринкаста - GUI для ffmpeg

Ещё раз про ffmpeg и запись скринкастов, поковырялся в интернете и нашёл кое что новое для себя и вспомнил старое.


ffmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио и видео записи в различных форматах. 


Установка:
# yum install ffmpeg

ffmpeg консольная утилита, т.е. для работы с ней нужно открыть терминал.

 
Для записи видео всего экрана нужно дать следующую команду:
ffmpeg -f x11grab -s 1024x768 -r 25 -i :0.0 screencast.mov
Параметры:
-f x11grab — указывает на то, что источником служит экран
-s 1024x768 — размер кадра (в нашем случае размер экрана)
-i :0.0 — экран Х-сервера и номер монитора
-r 25 — частота кадров
screencast.mov — имя выходного файла. Контейнер .mov выбран не случайно, он поддерживает сохранение кадров без перекодирования, что снизит нагрузку на ЦП при записи скринкаста. Так как мы сохраняем без сжатия, конечный файл будет довольно большой. Следите за тем, чтобы на разделе куда будет сохранятся файл было достаточно места.
Остановить запись можно нажав терминале, где запущен ffmpeg комбинацию клавиш cntl+c


Если нужно записать часть экрана, то делаем так:
ffmpeg -f x11grab -s 640x320 -r 25 -i :0.0+100,100 screencast.mov
Параметры:
-s 640x320 — размер кадра (в нашем случае размер области захвата)
-i :0.0+100,100 — экран Х-сервера, номер монитора и смещение от верхнего левого угла

Теперь можно перекодировать в avi:
ffmpeg -i screencast.mov screencast.avi


Screencastor — графическая морда для ffmpeg, заточенная под скринкасты. Автор француз, написано для убунты (можно поставить из ppa-репозитория, для не убунтоводов — качать тарбол), подробности читаем по адресу http://forum.ubuntu-fr.org/viewtopic.php?pid=3974195 . Минусы — нет русского интерфейса, задание или изменение значения для параметра -s и -i подтверждаются нажатием Enter в соответствующих окошках (не сразу до меня это дошло), при записи нового скринкаста нужно в ручную указывать его имя, либо будет в терминале программы вопрос о перезаписи предыдущего файла. Плюсов много и они с головой перекрывают минусы.