Ещё раз про скринкасты в линуксе

    Совсем недавно была статья pomeo на эту тему. Не то чтобы у меня какой-то альтернативный взгляд на это или существенно мой вариант отличается. Просто я знаю, что некоторые проблемы в Linux не решаются только одним мануалом. Поэтому, несколько повторяясь, я опишу, как это делаю я.

    Некоторое время назад я решил заняться циклом статей “Сети для самых маленьких” и серьёзно озадачился вопросом записи скринкастов. Читатели очень просили сопровождать статьи видеоматериалами.
    Сложностей при работе в линуксе представлялось две:
    1) Программа для записи видео с экрана,
    2) Программа для обработки видео.
    Первое, что пришло на ум — не искать себе приключений на голову и делать это в виндоус. Но, во-первых, это целая череда не очень приятных действий, а, во-вторых, взыграла ИТшная кровь — надо разобраться.

    В Линуксе есть прекрасное приложение recordMyDesktop — простое и притом универсальное. Это первое, которое я попробовал и оно меня вполне удовлетворило.
    В Ubuntu ставится одной командой:
    #apt-get install recordmydesktop

    Есть для него и графическая оболочка gtk-recordMyDesktop, но я предпочёл иной путь. Я создал две кнопки на панели быстрого запуска:



    На первую кнопку я прописал следующую команду:
    recordmydesktop -y 25 --height 750 --width 1250 -o sdsm/video/desktop.ogv

    Она запустит запись и будет захватывать только прямоугольник заданный координатами. То есть верхняя левая точка тут: 0;25, а длина и ширина такие: 1250x750. Конечный файл он сохранит в каталог sdsm/video/desktop.ogv
    После нажатия на эту кнопку, recordMyDesktop услужливо покажет рамку, в которой он будет записывать:

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

    На вторую кнопку вешаем команду прекращения записи. Возможно, я сделал это не очень аккуратно, если кто знает тру вей, подскажите:
    pkill recordmydesktop

    Но это работает и меня вполне устроило. После остановки, начинается обработка этого видео, что скажется на работе вашего процессора
    Если вы запустите и остановите RecordMyDesktop из консоли или графической оболочки, то вы увидите процесс обсчёта видео:



    В моём случае с кнопками действуем вслепую, ориентируясь на картинку процессора и шум кулеров. Как только нагрузка упала, можно идти проверять результат. Если нажать кнопку еще раз, то обработка прервётся. То есть если вы начали записывать и что-то пошло не так, просто два раза жмакаете по кнопке и всё.
    Конечный файл получается в формате ogv — кому как, а мне сгодится.

    Теперь, что касается звука. Встроенные динамик и звуковая карта оставляют желать лучшего или вообще даже наличия в результате членораздельных звуков. Пример.
    Поэтому я нашёл хороший микрофон:



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

    Но это не то, что нам нужно. Покупать внешнюю звуковую карточку не хотелось, но в тумбочке залежался без дела старенький eeepc901 — идеальный вариант. Отсутствие винчестера и слабенький тихий кулер сделали своё дело: результат получается вполне ничего. Пример

    Мне уже посоветовали, что для того, чтобы избавиться от шума винчестеров, батареи, кулеров и прочего, мне следует использовать микшер с микрофонным входом — говорят, качество звука поднимется на порядок.

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



    Удаление шума — киллер фича. Выделяете участок, где у вас только шум и создаёте модель:



    Далее выделяете весь трек (или снимаете выделение) и снова открываете “Удаление шума” и Ок. Audacity очистит по шаблону весь ваш файл.
    И на выходе можно получить весьма сносный файл. Пример.
    Одна из самых сложных частей — свести всё это в один итоговый видеофайл. Я тут много копий сломал в поисках рабочего варинта. Пробовал делать это в консоли через ffmpeg — либо звук портится, либо качество видео — не хватило у меня терпения разобраться.
    Kino имеет очень скромный функционал и тоже портит качество.
    Avidemux вообще глючит при попытке открыть это видео. То ли ogv ему не понравился, то ли размер картинки.
    Pitivi порадовал, но функционала недостаточно.
    В общем остановился я на Kdenlive. С ним тоже всё не так просто, если писать, например, конечный файл в avi, то он почему-то портил мне звук, другие кодеки, вроде, mp3, поставить не давал. Опять же в силу своей невероятной лени, я решил записывать в m2t — размер получался чуть больше, чем надо, но зато по всем остальным параметрам результат был годный. Youtube тоже с удовольствием их принимает.



    Чем меня особенно устраивал Kdenlive, так это тем, что можно создавать много дорожек и легко работать с картинками. В своих видео я использую серию фотографий для создания видеоряда, и эта возможность мне как нельзя кстати.



    Обработка даже 15-иминутного видео идёт очень долго. К примеру 30-иминунтное видео в два прохода у меня считалось около 2 часов. Но это вина не программы, а моей довольно старой машинки.

    Один из существенных недостатков kdenlive — он падучий, мерзавец. Причём триггер его падения я так и не уловил. Но к его чести, он восстанавливает последнее (или почти последнее) состояние перед крахом.
    Кроме того, в статье, что была перед моей, автор пользуется OpenShot, который очень похож на kdenlive, но побольше гламура. Кроме того я уже поставил себе Cinelerra. для подготовки следующего видео, но там проблемы с кодировкой. Судя по отзывам весьма мощная и качественная программа.

    Последние видео у меня получались по 30-40 минут почти. Я их готовил по частям и чтобы в конце, сливая 5-иминутную часть с 30-иминутной, не умереть в ожидании, я делал это на Youtube — у них есть простой, но неплохой редактор видео.

    В нём самые необходимые для меня функции “обрезать” и “склеить”. В общем из своих кусочков видео я там собирал финальный вариант и сервера гугл обсчитывали результат.
    Профит.

    P.S. Прошу прощения за количество разнородных плееров — тестирую хостинг аудио.
    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 20
    • +3
      ffmpeg умеет записывать скринкасты без потерь, x11grab и qtrle или flashsv
      • 0
        Еще есть vlc, который тоже умеет записывать скринкасты. Не знаю только, с потерями, или нет…
      • 0
        Спасибо за статью, может пригодиться, если придётся чего-то скринкастить :)
        Kdenlive, кстати, последнее время падает значительно реже, чем полгода назад.
        А youtube с удовольствием принимает и H.264 и WebM (это — вообще родной для него формат). Так что не вижу смысла в m2t.
        • 0
          m2t — единственный формат, который был доступен и смог меня удовлетворить по всем параметрам.
          Может, падает kdenlive и реже, но тем не менее регулярно. Особенно при большом количестве роликов длиной один кадр, созданных из фотографий.
        • 0
          Не по теме, но спасибо Вам огромное за серию статей о сетях!
          • +1
            Пожалуйста. Скоро новый выпуск.
            • 0
              Я еще третью часть до конца не прошёл ))
              • +1
                Говоря «скоро», я имею ввиду 3-4 недели) Так что успеете)
          • +3
            Кстати, если кому интересно записывать игры, то есть аналог fraps — glc. Записывает прямо opengl со звуком.
            • 0
              А recordMyDesktop без потерь пишет или с потерями?
              • 0
                А можете подробнее рассказать, чем ffmpeg или gstreamer не устраивают? Вроде, легко и просто всё записывается, одновременно со звуком, синхронно, никаких проблем. Зачем использовать такую кучу утилит?
                • +1
                  Конечно. Пожалуйста. Звук с ноутбука, на котором производится запись, меня совершенно не устраивает — очень много шума, поэтому звук записывается отдельно.
                  recordmydesktop отлично справляется с записью видео с экрана, поэтому и остановился на нём. Звук он тоже пишет и тоже синхронно. Но если при этом ffmpeg или gstreamer будут требовать существенно меньше времени на обработку, то я переключусь на них. Признаться я даже не тестировал ничего другого, поскольку вышеуказанная утилита сразу подошла.
                • 0
                  Насчет скорости обработки — похоже вина все таки программы или кодеков.
                  На достаточно шустрой машинке (Core 2 Duo 3GHz) обработка видео в 4-5 раз дольше чем его длина.
                  • 0
                    У меня примерно также, может, чуть помедленней
                  • 0
                    В Gnome Shell есть эта фича из коробки.
                    • НЛО прилетело и опубликовало эту надпись здесь
                      • 0
                        Такого у меня не было. А вот анекдотический случай был. Записал длинное 30-минутное видео, получившееся раза с 30-го, запустил на обработку и сидел игрался в руках стержнем от ручки. И чо-то случайно металлической частью попал в гнездо USB. Бук пискнул и потух на где-то 90%. И не включается. Я чуть не поседел в первую минуту. Потом вытащил батарею и бук запустился и 90% видео сохранились. Осталось заново записать оставшийся кусок.
                        У меня, кстати, считает только в один проход. Что вы имеете ввиду под несколькими частями?
                        • НЛО прилетело и опубликовало эту надпись здесь

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

                      Самое читаемое