Пользователь
0,0
рейтинг
15 марта 2012 в 09:50

Администрирование → Скринкасты в линуксе, личный опыт

openshot
Чуть больше года назад я публиковал здесь на хабре скринкасты. Недавно вышел последний и хотелось поделится опытом создания скринкастов под линуксом.
Начну с того, что у меня не было никакого опыта работы с видео и аудио, никакого это значит что совсем никакого. Я никогда в жизни не редактировал видео не в windows, не в macos, не тем более в linux. Мои знания ограничивались несколькими форматами, т.е. я знал что в mpeg2 надо держать исходник видео, а конечный результат сжимать с помощью mpeg4. Какие существую редакторы я даже не догадывался. Но перейдем к делу.

01. Материал для скринкастов


Тут проблем не было, я знал что и как хочу записать. Я уже видел разные «видео уроки» в рунете очень низкого качества, и видел css-tricks и railscаsts. Последние для меня были идеалом к которому я стремился, быстро, четко, ничего лишнего. Для себя я выделил две главные вещи, чтобы видео было в среднем 10 минут, максимум 30, не хотелось сильно тратить время людей, которые будут это смотреть. И хороший аудио голос, поэтому была выбрана прекрасная девушка Елена, которая согласилась поучаствовать в озвучке. Не хотелось самому сидеть бубнить в микрофон. Макеты были заранее сверстаны, всё проверено и распечатано, чтобы в процессе не останавливаться на всякие мелочи и видеть весь код перед глазами. Уложиться в 30 минут оказалось очень сложно. Идем дальше.

02. Запись видео


Вот тут начинается самое интересное, чем писать видео с экрана. Вариантов вроде и много, всякие recordMyDesktop, istanbul, vncrec и т.д., этим всем невозможно пользоваться, не стабильны и нет возможности на выходе получать mpeg2. Из последнего видел появились Kazam и Eidete, но они вышли уже после, ничего про них не скажу. Вначале остановился на xvidcap, куча настроек каких надо, умеет отдавать mpeg2. Но в процессе выяснились не приятные проблемы, видео на выходе получалось короче чем звуки клавиатуры с мышкой. Т.е. я пишу 10 минут, получаю 10 минут аудио и 7 минут видео, например. Абсолютно случайно мне попался чудо bash скрипт, которым я записал все скринкасты, не одного раза ничего не упало, не испортилось. К сожалению автора не знаю, блог где я его нашел уже давно не работает, упоминания в гугле никакого нет. Посмотреть можно на гитхабе. Есть пара скринкастов где исходное видео длинной около 6 часов, надо было уйти а паузы нет, так и оставлял, потом просто вырезал этот кусок и всё.
Процесс записи был достаточно простой. Сначала был создан новый пользователь для скринкастов. Так проще, можно потом вернутся через какое-то время и что-то доделать, плюс не надо убирать файлы у текущего с рабочего стола. Были убраны часы в трее, т.к. видео редактируются и что-то вырезается, не нужно чтобы люди отвлекались в процессе на прыгающие часы. Для запуска скрипта записи я использовал терминал tilda. Этот же терминал я использовал как сигнал для последующей обработки, что здесь надо что-то удалить. Например в процессе что-то перепутали, вызвали терминал, убрали, потом во время редактирования когда видишь открытый терминал, знаешь что здесь надо что-то вырезать. На картинке внизу этот момент как раз показан.

Запись звуков клавиатуры и кликов мыши, можно было не писать, но бывают моменты когда голоса долго нет в видео, и полная тишина странно выглядит. Писалось одновременно с видео, плюс скрипт в конце делает синхронизацию.

03. Запись голоса


Перепробовали много вариантов, остановились на следующем. После записи видео, я пишу субтитры, где какие фразы должны быть. Кусок .srt файла.
18
00:08:08,000 --> 00:08:28,000
placeholder longtitle выводит значение из поля "расширенный заголовок"

19
00:08:21,000 --> 00:08:41,000
placeholder pagetitle берет значение из первого поля "заголовок"

20
00:08:44,000 --> 00:09:04,000
блок с ссылками иконками превратим в чанк, чтобы не мешались до конца скринкаста. Чанк это просто кусок html
Дальше приходила Елена и мы писали каждую фразу на отдельной дорожке в Audacity.

Дальше я прогонял каждую дорожку через фильтры Normalize и Noise removal, и сохранял отдельным файлом. Был куплен микрофон Samson GoMic и прослушены все подкасты в ТиПЗ.

04. Обработка и соединение всего вместе


Особо ничего не делалось, просто вырезались лишние куски, которых было не особо много. Вырезались по принципу описанному выше. Находились открытые терминалы, просматривался кусок и вырезалось лишнее.

На скриншоте Avidemux, отличная программа, никаких проблем не доставила, пару раз падала, но восстанавливалась с места где упала. После вырезания лишнего в левой колонке выставлялось «Copy» у Video и Audio, формат MPEG-TS и сохранялось в отдельный файл.
В этом месте у нас уже лежит всё готовое, отредактировано видео и файлы с голосом. Чтобы соединить это всё вместе я пробовал PiTiVi, но им невозможно пользоваться, у меня он ужасно тормозил. Также попробовал Kino и еще что-то нашел, всё не устроило. Подошел OpenShot, тоже далек от идеала, но гораздо лучше чем остальные.
Кидаем всё на дорожки, голос расставляем смотря в файл с субтитрами.

Различные выделения или вставку надписей, как на картинке внизу, я делал с помощью полупрозрачной png картинки с вырезанным куском.

Ставим на верхнюю дорожку, выставляем сколько секунд показывать и все.

06. Кодируем


Уже на данном этапе можно сделать экспорт из OpenShot и получить видео нужного формата, но меня не устроил размер и качество получаемого файла. Поэтому создаем профиль в OpenShot с параметрами нашего исходного видео.

И делаем экспорт в mpeg2 используя созданный профиль и максимальное качество, чтобы не потерять то что есть.

Я пробовал кодировать получившийся файл с помощью ffmpeg в консоли, но из-за нехватки знаний нужных ключей подобрать не смог, и размер файлов получался очень большой при ужасном качестве. Для последнего перекодирования я использовал Avidemux. Открываем то что вышло из OpenShot. Выставляем слева mpeg-4, аудио faac и формат mp4.

Текущие настройки я использовал чтобы получать на выходе низкое качество, из 2-х гигабайтного исходника получался ~70 мегабайтный файл. Для высокого качества я открывал слева в видео кнопку configure и уменьшал quantizer до 10.

На выходе получался опять же из 2-х гигабайтного исходника ~500 мегабайтный файл. Его я использовал для заливки на youtube. Я пробовал различные html5 плееры, но ютюб оказался проще, плюс в данный момент достаточно легко стало заливать ролики любой длинны.
Если резюмировать, то единственной текущей проблемой является отсутствие нормального много дорожечного видео редактора, всё что есть ужасно.

P.S.


Заставку с которой начинаются скринкасты делал в Ease, это программа для обычных презентаций. Накидал слайды, поставил нужные эффекты, включил запись с экрана и запустил слайды на весь экран. Наложил музыку и готово.
Сергей Овечкин @pomeo
карма
77,7
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Администрирование

Комментарии (26)

  • +1
    нет возможности на выходе получать mpeg2
    Но зачем?
    • 0
      если вы пишете пару минут видео и вам не нужно потом с ним ничего делать, тогда да, можно сразу mp4. Но если вам надо файл править и кидать между программами, то mpeg2 быстрее всего.
  • +2
    Тоже не так давно озадачился этим вопросом. Очень долго маялся, к идеалу так и не пришёл, но мой рецепт такой:
    1) Записываю с recordMyDesktop. Задал рамку на экране, которую нужно записывать и создал две кнопки: запись и стоп. На выходе получается ogv, который вполне можно открыть редактором в линуксе.
    2) Звук пишу параллельно на другой ПК. Несмотря на то, что микрофон хороший, очень много шума от самого компьютера. Поэтому звук пишется на нетбук. Благодаря почти полному отсутствию движущихся частей шума значительно меньше.
    3) Свожу всё вместе в kdenlive. Жутко часто падает, но ничего другого у меня под убунту так и не заработало (kino, pitivi, avidemux). Но в итоге в каком-то странном формате получается добиться качественного видео, звука и адекватного размера. Ютьюб нормально его кушает, поэтому я и не стал заморачиваться дальше.
    Кстати, не пробовал тот редактор, что используете вы. На выходных установлю.

    Откровенно говоря, при записи скринкастов, гораздо сложнее проблемы организационного характера, нежели технического. Я их так и не решил.
    • 0
      насчет второго пункта, т.к. я перепробовал все возможные варианты, а скринкаст писался на стареньком ноутбуке который очень сильно завывал, то я пробовал совсем экзотичный способ. В шкафу стоял нормальный комп, в роли домашнего сервера, и я с помощью него и FreeNX пытался видео писать на нем, а звук на ноуте. Ничего не получилось =)
      • 0
        Как сложно) Значительно проще свести аудио и видео дорожки в редакторе. Обрабатывать-то видео всё-равно придётся.
  • 0
    Спасибо, полезная заметка. Я тоже не так давно столкнулся с необходимостью делать скринкаст — и, в итоге, как то так получилось, что под виндой оказалось сделать легче. Сказался мой узкий кругозор в софте под линукс. Благодаря вам он теперь чуть шире 8)
  • 0
    В избранное однозначно. Спасибо огромное, буквально вчера начал гуглить вопрос, а тут уже все по полочкам.
  • 0
    Для несерьезных целей использовал RecordMyDesctop+OpenShot Video Editor.
    Звук тоже средствами RMD.

    Серьезного редактирования пока не требовалось, поэтому с проблемами не сталкивался, но на всякий случай статью — в избранное.
  • 0
    Спасибо братан! А Елене отдельный привет ;)
  • 0
    А первичная запись осуществляется без потерь я надеюсь?
    • 0
      да
  • +3
    Костылииии!
  • –10
    По-моему, проще было бы перезагрузиться в винды и запустить Camtasia Studio.
    • 0
      мы не ищем легких путей, задача была использовать то что есть. Да и проблемы записать с экрана нет, проблема в отсутствии многодорожечных видео редакторов, Lightworks должен решить эту проблему.
      • 0
        Да уже все заждались Lightworks для Linux. :)
    • 0
      Конечно проще!

      1) пойти купить Винду
      2) переразбить диск, выделив «ненужных» 20 гигов под систему
      3) установить Винду
      4) установить все драйверы
      5) найти и скачать триал Camtasia Studio
      6) установить её
      7) сделать скринкаст! Ура!
      8) не забыть восстановить Grub, затёртый виндовым инсталлером
      9) через месяц купить полную версию Camtasia Studio всего за $299.00 USD, т.к. действие триала закончится

      Проще ну просто некуда! %)
      • 0
        можно подумать, у вас нет винды в дуалбуте ;)
        • 0
          А вы подумайте, подумайте.

          Единственный комп в моём доме, на котором есть Винда — это нетбук жены, на котором всё ещё осталась в дуалбуте предустановленная семёрка. Но там ни о каких скрин-кастах и речи быть не может — он начинает захлёбываться уже при запуске Скайпа. Собственно, именно поэтому Винда там ни разу и не грузилась с тех пор, как была подвинута Убунтой — под ней всё бегает не в пример шустрее.
          На трёх остальных компах Винды как-то не наблюдается: на двух всё та же Убунта, на третьем — МакОСь.

          Ну как там ваш шаблон — не сильно болит после разрыва?
        • 0
          у меня например нет, для чего её держать на физическом компе? в виртуалке есть для IE
    • 0
      А как в этом случае сделать, цитирую название топика, «скринкасты в линуксе»?
      Как из винды показать особенности конкретной linux-программы?
  • 0
    В своё время на восьмых убунтах ставил Синелерру для монтажа. Это, пожалуй, самый продвинутый редактор был для Линукса. Надо будет проверить, что с ним сейчас.
    Как только появился Open Shot, пробовал его ставить, но он убил все мои кодеки.
    Avidemux хорош для пережатия.
    • 0
      я её ставил, интерфейс очень сложный, не хватило терпения разобраться.
  • 0
    Для записи экранного видео можно и просто ffmpeg использовать. А вот такой псевдоним
    alias recdesktop='ffmpeg -f x11grab -s 1920x1080 -r 8 -i :0.0 -sameq '
    <source>
    позволит быстро записать экранное видео в файл. Можно даже повесить это на сочетание клавиш, тогда при нажатии определенной комбинации где-нибудь в ~/tmp создастся файл с записью видео (остановить запись можно при помощи другого сочетания клавиш).
    • 0
      Да, звук можно записывать синхронно.
    • 0
      если глянете скрипт которым я пользовался и на который привел ссылку gist.github.com/1192958, то увидите что там как раз и используется ffmpeg с x11grab
  • 0
    За ссылку на kazam спасибо.
    recordMyDesktop и recorditnow давали странные артефакты при кодировании, которые никакими настройками/форматами не смог победить. kazam спас.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.