Disel | Дата: Пт, 17.06.2011, 07:40 | Сообщение # 1 |
Генерал-лейтенант
Группа: Бывалый
Сообщений: 489
| Для создания высококачественных скринкастов, видеороликов отражающих совершаемые на экране действия, удобно использовать пакет 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" организован пропуск первых 15 секунд записи и вырезано несколько секунд перед концом (записывается ровно 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
|
|
| |