Для создания высококачественных скринкастов, видеороликов отражающих совершаемые на экране действия, удобно использовать пакет FFmpeg. Для работы функции по созданию скринкастов пакет ffmpeg должен быть создан с опцией "--enable-x11grab" (уже используется по умолчанию в Ubuntu и многих дистрибутивах). На первом шаге создаем запись действий на экране, кодеком без потери качества (lossless h264), чтобы потом можно было подготовить несколько версий ролика в разных форматах (например, можно отдельно создать вариант для YouTube и версии с разным качеством кодирования):
ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1024x768 -i :0.0 \
-acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output_ll.mkv
где,
"-f alsa -ac 2 -i pulse -acodec pcm_s16le" - записываем стереозвук кодеком pcm_s16le (без потери качества) с использованием звукового сервера PulseAudio (для Linux-систем без PulseAudio можно попробовать "-f alsa -ac 2 -i /dev/dsp" или "-f oss -ac 2 -i /dev/dsp")
"-f x11grab" - драйвер для записи с экрана;
"-r 30" - число кадров в секунду (FPS);
"-s 1024x768 -i :0.0" - размер видео и смещение позиции на экране, напирмер, указав "-s 800x600 -i :0.0+200,100" можно организовать запись блока 800x600 со смещением 200x100 относительно верхнего левого угла экрана;
"-vcodec libx264 -vpre lossless_ultrafast" - выбираем кодек libx264 без потери качества.
На втором шаге перекодируем созданный ролик в более компактное представление и отрезав лишние хвосты:
MP4/h.264:
ffmpeg -ss 00:00:15 -t 00:05:01 -i output_ll.mkv -acodec libfaac \
-ab 128k -ac 2 -vcodec libx264 -vpre slow -crf 22 -threads 0 video.mp4
Через опции "-ss 00:00:15 -t 00:05:01" организован пропуск первых 10 секунд записи и вырезано несколько секунд перед концом (записывается ровно 5 минут и 1 секунда).
OGG/Theora:
ffmpeg -ss 00:00:15 -t 00:05:01 -i output_ll.mkv -acodec libvorbis \
-ab 128k -ac 2 -vcodec libtheora -b 1000k video.ogg
Matroska/h.264:
ffmpeg -ss 00:00:15 -t 00:05:01 -i output_ll.mkv -acodec libvorbis \
-ab 128k -ac 2 -vcodec libx264 -vpre slow -crf 22 -threads 0 video.mkv
AVI/xvid:
ffmpeg -ss 00:00:15 -t 00:05:01 -i output_ll.mkv -acodec libmp3lame -ab 128k -ac 2 \
-vcodec libxvid -qscale 8 -me_method full -mbd rd -flags +gmc+qpel+mv4 -trellis 1 \
-threads 0 our-final-product.avi
Если необходимо в процессе записи ролика отвлечься и прервать запись, разные куски можно записать в отдельные файлы, а затем объединить их командой mkvmerge:
mkvmerge -o complete.mkv part1.mkv +part2.mkv +part3.mkv +part4.mkv
URL: http://ubuntuforums.org/showthread.php?t=1392026
Обсуждается: http://www.opennet.dev/tips/info/2534.shtml