Создание cкринкастов

Скринкастинг (англ. screen — экран и англ. broadcasting — передача, вещание) - жанр подкастинга, смысл которого состоит в трансляции для широкой аудитории видеопотока с записью происходящего на экране компьютера автора. Дополнительно накладываются аудиокомментарии и текстовые блоки с пояснением происходящего. Эффект от просмотра скринкастинга аналогичен тому, как если бы зритель находился бы рядом с автором и тот показывал бы действия на своем реальном компьютере и при этом давал бы комментарии.

Этап 1: Запись скринкаста

Для создания скринкастов (видео с экрана вашего монитора) в Linux доступно несколько программ, мы будем использовать recordmydesktop. Программа идет в стандартной поставке дистрибутива, для ее запуска необходимо использовать команду recordmydesktop в терминале. Если вам надо GUI, то его можно установить. GUI recordmydesktop прост в использовании и дополнительного описания не требует.

mini.jpg

Если вы хотите смонтировать ролик или добавить музыкальное сопровождение, то вам потребуется видео редактор. Если вам этого не надо, то следующий шаг можно пропустить.

# Pitivi
# Kino
# Kdenlive

Этап 2: Монтирование

Или какой либо другой видео редактор, который вам возможно придётся установить. Но Выбирать вам! Лично я использую Pitivi и на его основе покажу пару примеров монтирования и добавления музыкального сопровождения.


https://www.youtube.com/watch?v=YTq21rK3evI \
https://www.youtube.com/watch?v=WBtjUsQ4Tn4
Пример монтирования Пример добавления музыкального сопровождения


Этап 3: Приведение в человеческий вид и конвертирование конечного видео перед заливкой на видео хостинг

А вот здесь начинается самое интересное использование программы ffmpeg которая имеет кучу смачных фишек и запускается через терминал, а GUI не имеет! Программа также, как и recordmydesktop, присутствует в дистрибутиве Calculate Linux Desktop и, насколько мне известно, во всех дистрибутивах на основе Gentoo. Как я и писал выше, программа ffmpeg имеет кучу вкусностей, но как я узнал не так давно, не все живые люди их используют, а жаль. Её мы будем использовать как и все по прямому назначению, а именно конвертировать созданное вами видео.

ffmpeg -i путь_к файлу/с_именем_файла.ogv путь_к_конечному_файлу_с именем_и_желаемым расширением (к примеру *.AVI)

Это конечно хорошо, что вы и захотели оставить и оставить все как есть, и конвертирование вам удалось провернуть в видео редакторе и этот шаг вам не потребовался, но ведь можно и увеличить разрешение картинки используя: [опцию -s код узнать в справке], и забить различные теги в видеоролик используя: [опцию -metadata с указанием тега=“Значение тега”], и кучу всяких других.

Хочу продемонстрировать свои частые опции на примере файла:

ffmpeg -i OpenCast.ogv -r 30 -ab 320K -b 4000K -s hd720 -metadata Name="OpenCast" -metadata Janre="Education" OpenCast.avi

Этап 4: Заливка на видео хостинг

Видео хостеры такие как youtube.com/html5 хоть и держат HTML5 (только в виде проигрывателя) но обрабатывают православные форматы .ogv или.ogg очень долго и не правильно. Именно по этому нам и требовался 3 этап, что бы конвертировать файл в *.avi, если вам удастся найти хороший видео хост только на HTML5 или у вас есть свой сайт и есть файло, то считайте что вам крупно повезло.

Пример на HTML5 сократит вам время, на конвертации:

<video controls width="200" height="120" >
<sourсe src="*.ogv"  type="video/ogg"></sourсe>
<sourсe src="*m4p" type="video/mp4"></sourсe>
</video>

Здравия Сергей.
Столкнулся с рядом проблем по созданию скринкастов:
При конвертации в avi по вашему методу, теряется качество и сильно вырастает объем файла. Что сказывается на время загрузки на сервис и конвертировании на сервисе (при плохом интернете…!)после конвертирование сервисом видео становится совершенно не читаемым (текст). Сервис Vimeo корректно кушает ogv но качество тоже плохо читаемое.
В сети нашел вот такую команду:
ffmpeg -r 60 -g 600 -s 1680x1050 -f x11grab -i :0.0 -s 800x600 -vcodec qtrle screencast.mov

  • 1-f x11grab - брать поток с экрана
  • 2-r 60 - 60 кадров
  • 3-s 1680x1050 - моё разрешение экрана
  • 4-i :0.0 - в качестве источника мой экран
  • 5-vcodec qtrle - кодек,
  • 6-s 800x500 - получаемое разрешение
  • 7-screencast.mov - выходной файл
    Очень удобно, можно играться форматом вывода (вот только не знаю какие есть варианты) вот и хочу спросить: чем жать лучше всего “качество/размер” и легко усвояемость сервисами?

Про то что ffmpeg умеет брать и записывать видео с экрана я знал, но хотелось описать более простые способы.
В ffmpeg есть куча всяких фишек типа -b -minrate -maxrate -debug -qmin -qmax -qdiff попробуй с ними поиграется и вывести свою формулу хорошего качества и минимальных размеров, так же можно поиграться с кодеками -acodec -vcodec

Хм. Возможно, заинтересует скрипт, который я как-то написал: http://andrey.bezrukov.me/?p=106
Конвертирует видео в несколько форматов для поддержки любым браузером.