Как стать автором
Обновить

Создание видеороликов через PowerPoint – нюансы, баги и автоматизация

Время на прочтение 5 мин
Количество просмотров 12K

На данный момент видео является одним из наиболее наглядных показательных демонстрационных материалов.

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

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

Речь далее не пойдет о том, как в принципе делать анимированные презентации и видео – по PowerPoint полно справочных материалов и он несложен в освоении даже без инструкции. Но везде есть нюансы, как в известном анекдоте. О них далее.

Внедрение объектов


По возможности лучше вставлять внешние объекты прилинкованными, чтобы при их изменении они сразу изменялись внутри всех используемых проектов роликов (презентаций). Иначе придется идти по всем роликам и менять всё внутри каждого.


Например, изменилось изображение заднего фона, и оно автоматом будет измененным во всех презентациях. Или используете, например, картинку ноутбука, а потом заметили, что на нем не стерт логотип производителя. Итого – удаляем в исходном изображении лого – и во всех презентациях сразу изменения вступают в силу.

Это касается аудио, видео, картинок, иконок. Видео тем более, т.к. как минимум при его внедрении оно копируется и файл PPT становится огромным.

Для встройки элемента из другого файла PowerPoint придуман лайфхак – в презентации нужный элемент надо сохранить как EMF, чтобы не терять векторную графику (другие форматы все растровые типа PNG или JPG) и уже вставлять как прилинкованный объект в нужный файл PPT.

Встраивание видео


Видео вставляется очень легко – из интерфейса PowerPoint все интуитивно понятно. Но замечен баг – при анимационных переходах между слайдами у видео появляются цветные полоски по краям, если размеры видеокадра в пикселях не кратны 16. Т.о. видео должно иметь кратные 16-ти ширину и высоту. Например, для HD (1280x720) и Full HD (1920x1080) размеров это условие выполняется.

Лучше быть сразу внимательным, чтобы потом не редактировать заново вставленное видео из-за изменившегося размера. И баг сложно заметить — он воспроизводится только при экспорте в видео – при обычном просмотре слайд-шоу он не наблюдается.

Использование аудио


Звуки анимаций не экспортируются


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

Разработан лайфхак – звуки нужно вставлять как отдельные элементы анимации. Такой подход получается даже более гибким – можно настроить временной отступ и обрезку по времени звуков. А для звука перехода слайда надо его поместить на предыдущий слайд. Для обоих звуков надо выставить опцию «Play across slides», чтобы они проигрывались одновременно со своим анимационным эффектом.


Музыка иногда «рвется»


Найден еще баг — фоновая музыка кратковременно прерывается в произвольных местах при экспорте видео, если файл пожат чем-либо. Заметил я это, используя MP3. В качестве эксперимента попробовал сделать WAV файл с кодеком ADPCM, чтобы хоть как-то экономить место – баг все равно воспроизводился, хоть и меньше.

В итоге обходной маневр — всю используемую музыку пришлось конвертировать в несжатые WAV файлы (PCM).

Озвучивание


Очень хорошо смотрится видео, где за кадром приятный голос хорошо все объясняет. Нашел дополнение к PowerPoint, которое делает озвучивание голосом из заданного текста. Speech Over – оно очень древнее и очень не бесплатное. Сам не пробовал этот addon, т.к. в моем случае голос за кадром был не очень критичен. Если кто-то нашел другое решение или попробовал вышеупомянутый addon — поделитесь, пожалуйста, в комментариях своим опытом.

Локализация


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

Удобным оказалось в имя элемента добавлять ISO код языка через точку (по аналогии с расширением файлов). Т.о. визуально видны языковые элементы в навигаторе и их можно переключать значком «глаза».


Панель Selection открывается по нажатию Alt + F10.

Автоматизация


Т.к. уже при нескольких локализациях сразу становится трудоемким процесс переключения языков внутри файла проекта ролика, то сразу встает вопрос об автоматизации. А уж если роликов много, а их должно быть много, то руками все прокликивать становится каторгой.

Но за что люблю Microsoft, это за возможность автоматизации их офисных приложений через COM. Для PowerPoint есть интерфейсы для управления видимостью элементов и для экспорта видео.

Переключение локализаций


Буду приводить примеры кода на PHP. Сгодится любой другой язык, поддерживающий COM.
Сначала открываем презентацию.

$oPptApp = new \COM( 'PowerPoint.Application' );
$oPptFile = $oPptApp -> Presentations -> Open( 'my.ppt' );

Далее нам нужно пройтись по всем элементам презентации, найти зависимые от языков и скрыть ненужные в данный момент. Пусть, для примера, нужным будет русский язык (ru).

foreach( $oPptFile -> Slides as $oSlide )
{
    foreach( $oSlide -> Shapes as $oShape )
    {
        $posLangSep = strrpos( $oShape -> Name, '.' );
        if( $posLangSep !== false )
            $oShape -> Visible = substr( $oShape -> Name, $posLangSep + 1 ) == 'ru' ? msoTrue : msoFalse;
    }
}

Элементы в презентации могут быть сгруппированы, поэтому учтем это, перестроив немного код. Нюанс – метод Visible сразу управляет всеми вложенными элементами в отличие от клика мышкой в интерфейсе. Поэтому изменяем свойства от «родителей» к «детям».

foreach( $oPptFile -> Slides as $oSlide )
    foreach( $oSlide -> Shapes as $oShape )
        EnsureElemVisibleByLang( $oShape, 'ru' );

function EnsureElemVisibleByLang( $oShape, $langCode )
{
    $posLangSep = strrpos( $oShape -> Name, '.' );
    if( $posLangSep !== false )
        $oShape -> Visible = substr( $oShape -> Name, $posLangSep + 1 ) == $langCode ? msoTrue : msoFalse;

    if( $oShape -> Type == msoGroup )
        foreach( $oShape -> GroupItems as $oShapeChild )
            EnsureElemVisibleByLang( $oShapeChild, $langCode );
}

Значение константы msoGroup и прочих тут.

Экспорт видео


Тут совсем просто. Описание метода CreateVideo тут.

$oPptFile -> CreateVideo( 'my.mp4', msoTrue, 5, 1080, 30, 100 );

Интеграция в систему


Далее весь код оформляется в скрипт для обработки одного файла PPT и подвешивается в shell системы, чтобы для выделенной группы файлов в проводнике по правой кнопкой мыши выбирать из меню, например, «Создать видео». В итоге имеем автоматизированную пакетную обработку.

Заключение


Если кому-то мой опыт поможет – расскажите об этом в комментариях. В процессе производства роликов постоянно вскрываются дополнительные нюансы, о которых буду рассказывать. Примеры видео можно посмотреть по YouTube ссылке вверху сайта, указанном в моем профиле. Также, если есть вопросы по созданию видеороликов, – смело задавайте. И, как всегда, любые конструктивные комментарии, пожелания, критика – приветствуются.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Используете ли вы PowerPoint для создания видео?
7.69% Использую только его 1
30.77% Использую чаще его и реже другие видео редакторы 4
7.69% Использую реже его и чаще другие видео редакторы 1
61.54% Использую другие видео редакторы 8
Проголосовали 13 пользователей. Воздержались 11 пользователей.
Теги:
Хабы:
+5
Комментарии 8
Комментарии Комментарии 8

Публикации

Истории

Работа

Ближайшие события

PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн
Weekend Offer в AliExpress
Дата 20 – 21 апреля
Время 10:00 – 20:00
Место
Онлайн