Что такое генерация видео
Генерация видео математической функцией на ПЛИС
Здравствуйте!
В этой статье я хочу рассказать о своём опыте изучения разработки на ПЛИС и познакомить со своим проектом — генератором видео по формуле.
Цель поста
Я программист С++, профессионально занимаюсь разработкой и сопровождением системного софта. Около двух лет тому назад у меня возникло желание разнообразить свой опыт за счёт изучения схемотехники, точнее программирования ПЛИС с использованием языка Verilog. Далее я расскажу, что из этого вышло.
Цель работы
Теория
Схемотехника и программирование
По моему мнению, схемотехника для программиста — интересная смежная область для освоения. Описание аппаратуры с одной стороны, во многом схоже с написанием программы что облегчает вхождение, а с другой определяет совершенно иной путь решения прикладной задачи, дает инженеру новые возможности и опыт. Обычно мы пишем программу, которая работает последовательно, строка за строкой. Поучительно попробовать написать программу, все части которой работают одновременно.
Итак, это интересно, но подумаем о целесообразности. Как выбрать задачу, решение которой на ПЛИС будет оправдано? Во-первых, в некоторых случаях схемное решение оказывается изящнее и надежнее программного. К примеру программировал я сумо-бот на микроконтроллере, сделал ему простейший голос — на один из выводов вешается динамик, сигнал на нем меняется со звуковой частотой. Всё просто — цикл, внутри переключение и задержка. Но робот на время гудка останавливался. Чтобы работало одновременно, нужна многозадачность, надо писать диспетчер, с ростом сложности превращающийся в ОС реального времени. В решении на ПЛИС же, не приходится делить ресурс центрального вычислителя, подсистема управления динамиком отъест некоторый объём ПЛИС-ы и далее никому мешать не будет.
Во-вторых, специализированная схема может иметь много большую производительность, чем программное решение. Для попиксельной обработки видеопотока 1280х1024@60Гц в реальном времени понадобится обрабатывать 80млн. точек в секунду, тут даже на мощном процессоре много не успеешь, схемное решение даст возможности куда богаче (при определенных ограничениях на алгоритм, — обработка должна быть стереотипной, ветвления нежелательны).
Для программирования ПЛИС можно использовать специальные языки, такие как Verilog и VHDL. Они на мой взгляд, значительно удобнее, чем схемный редактор, но человека привыкшего к высокоуровневому программированию разочаровывают. Мой опыт касается (System)Verilog-а, но насколько мне известно, VHDL отличается мало. Схема описывается на уровне регистровых передач (RTL), что вроде бы и естественно, но описание разделяется на две части: комбинационную схему и синхронную логику. Вот есть к примеру оператор цикла, описываю деление столбиком и обнаруживаю, что внутри тела цикла комбинационную часть описывать нельзя, только синхронную. Есть макросы, язык макросов верилога это С-шный препроцессор с точностью до замены ‘#’ на ‘`’. Ну и у модуля могут быть числовые параметры (времени компиляции), вот пожалуй и все средства обобщенного программирования на нашем вооружении.
RTL, синхронные схемы
В подавляющем большинстве случаев разработчики электронных схем ограничиваются синхронными схемами. Это значит, что есть общий тактовый сигнал (clock, клок), и описание делится на множество регистров и комбинационную схему, определяющую, как значение регистра на следующем такте зависит от значения регистров на предыдущем. Комбинационная схема не обладает собственным состоянием. Минус — некоторое ограничение свободы, к примеру я встречал описание реализации генератора случайных чисел с помощью асинхронной схемы. Вообще, архитектура ПЛИС расчитана на работу только с синхронными схемами, а такие принципиально асинхронные модули как ФАПЧ(PLL) реализуются как отдельные аппаратные блоки.
ФАПЧ позволяет создавать несколько «клоковых доменов», например отделить вычислительный модуль от видеоадаптера, так чтобы у каждого была своя частота. К асинхронным схемам как я понял, схемотехники относятся примерно как программисты к самомодифицирующемуся коду.
Частота на которой сможет работать схема зависит, главным образом, от самой схемы, но и тип ПЛИС, её «класс скрости» играет роль. Смысл примерно такой — за один такт сигнал должен успеть пробежать по самому длинному пути вашей схемы и переключить целевой регистр. Когда я превышал частоту для описываемого решения, на экране появлялись характерные сопли.
Железо
Инструментарий
Поскольку я использовал отладочные платы на базе ALTERA, то в качестве среды разработки выступал QUARTUS, бесплатный web edition. QUARTUS оставляет неоднозначное впечатление. Главная претензия — очень неинтуитивен и плохо документирован, туториалы никакие. В то же время, свои обязанности интегрированной среды разработки он выполняет. Это типичная ситуация при работе с ПЛИС — работать работает, но удобства (и в том числе лёгкость освоения) на последнем месте, энтузиастов тут как правило не ждут.
Реализация
Итак, генерируем видео по функции. ibniz, а точнее его «линейное» подмножество будет служить спецификацией. Польза в том, что во-первых можно позаимствовать несколько готовых демо, а во-вторых, можно сравнить результат работы с референсной софтовой реализацией что весьма ценно, поскольку отладка схемы куда сложнее чем отладка программы.
Работа в основном разделилась на две части, — инфраструктуру, подготавливающую данные и выводящую результат на дисплей и на ядро, реализующее отдельные элементарные функции ibniz.
Основной компонент инфраструктуры — VGA адаптер. Обычный подход — использовать буфер(ы) фрейма, вовлекает в проект внешнюю память (внутренней мало). Это усложнило бы проект и лишило возможности использовать память для чего-нибудь еще. Поэтому ядро работает синхронно с VGA, цвет пикселя вычисляется и тот сразу рисуется.
Недостатки:
Ядру навязана частота VGA
Пока VGA отрабатывает «невидимые куски экрана» ядро простаивает.
Жёсткое реальное время, на каждый такт надо отдать очередной пиксел, сэкономить там, чтобы потом потратить здесь не получится.
Команды ibniz прямой записи в буфер фрейма нереализуемы, также как и операторы перехода.
Преимущества:
Простота реализации
Можно использовать ширину канала, которую память бы не потянула.
Память сохранена для чего-нибудь еще (разделение ресурса тут вряд-ли было бы возможно).
Низкая латентность, тут от неё толку мало, а вот с сигналом от камеры выходит красиво, но это уже другой проект.
Тру 60Hz видео радует глаз.
Ядро проекта составляют математические функции — sin, atan2, log, sqrt, а также деление; реализовал их сам, алгоритмами «цифра за цифрой» (CORDIC), благо был опыт программной реализации. Это итеративные алгоритмы, количество итераций пропорционально разрядности аргументов. Итерация у меня делается за такт, то есть от поступления аргументов на вход до выхода результата проходит количество тактов, равное разрядности чисел, для ibniz это 32. Как это примерить с необходимостью считать точку за такт? С помощью конвееризации, вычислительный блок состоит из 32-х (аппаратных) ступеней. Остаётся задержка, причём для последовательности блоков задержка накапливается. Бороться с ней несложно, но я для наглядности оставил, в результате изображение смещено вправо, а по левому краю видна артефактная полоса, ширина которой соответствует общей глубине конвеера конкретного примера.
Красивости
О генеративном искусстве на Хабре уже писали например тут, далее мои 5коп. Когда начинаешь генерировать компьютером картинки, по началу стремишься к необычному,- парадоксальным формам, ярким до кислотности краскам. Однако, такие «произведения» быстро надоедают. Интересная вещь — чтобы увеличить разнообразие приходится накладывать ограничения. «Случайная» картинка выглядит плоской, но можно добавить ощущение объёма, натянув её на некую форму. В демо «Юпитер» промежуточная картинка-текстура накладывается на сферу. Для этого просто используется преобразование координат от декартовых к сферическим также, как описано в этой статье. Ощущение объёма усиливается за счёт освещения, а также движения, см. демо с четырьмя кругами-сферами.
Итак, стоит ли программисту лезть в схемотехнику? Только при условии серьёзных намерений, надо хотя бы точно знать цель, поскольку дело это энергозатратное, что обусловлено работой на низком уровне, менее совершенными средствами разработки и менее очевидной логикой работы программы. На другой чаше весов — новые возможности и опыт. Я своим опытом вполне удовлетворён, кроме описанного проекта я ещё сделал генератор процедурной музыки, MIDI-синтезатор, фильтр сигнала от видеокамеры.
Сейчас у меня на стадии обдумывания и написания программной модели гораздо более серьёзный проект, — ненейманновский компьютер на базе комбинаторной логики. Главная идея, — на статическом большом регулярном графе, зашитом в железо живёт динамическое дерево функциональной программы, при этом ветви дерева эволюционируют по возможности одновременно. Узлы максимально простые, умеют только применять комбинаторы; целые числа только в виде нумералов Чёрча. Преимуществом должно стать массовое выполнение простых символьных операций в чистом функциональном стиле. Может быть, что-то вроде разбора регулярных выражений или логического вывода. Конечно, на подавляющем большинстве практических задач традиционную архитектуру не обогнать, но если вдруг найдётся хоть одна подходящая область, глядишь, и до кремния дойдём. Ну или по крайней мере мере появится архитектура с unlambda в качестве языка ассемблера:
Как нейронные сети заменяют рендеринг
О чем будем говорить
Сейчас нейронные сети развиваются в область создания и манипулирования контентом. Началось все с каких-то простых фильтров для фотошопа и подходов для манипуляции лиц.
Это время прошло, и инструментов для видео появляется все больше и больше. Может быть многие помнят этот пример от Nvidia:
Тут, конечно, нейронная сеть была использована лишь для правки изображений ( https://github.com/NVIDIA/vid2vid )
В целом, говоря про улучшение видео, можно поговорить про подходы для улучшения изображений на нейронных сетях, варианты вырезания фона, замену лиц, тела, и.т.д.
Но я хочу сосредоточиться на одной теме: “как нарисовать произвольного человека в видео”. Сюда будут входить как и подходы для полного рендера, про которые говорит Nvidia, так и принципиально другие вещи, например “анимация человека видео напрямую”.
Общая логика
Давайте попробуем сформулировать задачи которые существуют, а дальше классифицировать на типы решения, разобрав каждый из них.
На сегодня существуют сотни работ на тематику “трансфер позы/трансфер движения”. И многие из них опираются на свою постановку задачи. Рассматривая все это многообразие для себя я выработал классификацию по наличию априорной информации (доступных для генерации данных) + по типу первичной генерации данных. Сначала про априорную информацию:
Есть предварительное изображение человека сгенерированное некоторым 3D движком:
Есть предварительная скелетная анимация человека, сгенерированная каким-нибудь подходом (про подходы поговорим позже)
Есть предварительная скелетная анимация человека + дополнительная карта тела (Сегментационные области тела/частей тела)
Есть предварительная скелетная анимация человека + дополнительная карта тела (Карта нормалей)
Есть только видео на которое надо перенести другого человека, нет никакой разметки
Есть только текстовое описание:
Теперь несколько способов на основе чего генерировать анимацию (их можно комбинировать!). Более подробно будут описаны ниже:
Полноценно сгенерированный человек при помощи 3D движка (способ 1)
Скелетная анимация через какой-нибудь MoCap костюм (способ 2)
Скелетная анимация/сегментация, снятая с другого человека (способ 3)
Скелетная анимация полученная из нейронной сети на основе какого-нибудь генератора (способ 4)
Теперь пройдем подробнее по каждому типу генерации: где его применяют и зачем.
Нейронки для улучшения рендеренга
В целом, улучшение рендеринга, это сравни тем “улучшалкам”, про которые я особо не хотел говорить в этой статье. Но в контексте анимации не могу не упомянуть про них. По сути это что-то среднее между “style transfer”/”поправить текстуру”/”поправить освещение”. Самые популярные работы в этом направлении у Nvidia. В первую очередь vid2vid. Именно её, как они уверяют, они использовали для создания видео с Дженсеном, приведенное выше (вот тут более полная версия рассказа + блогпост).
Процесс тут состоял из нескольких частей:
Полноценный 3д скан человека (использовался многокамерный подход), создание его 3д модели (способ 1)
Генерация жестов нейронной сетью (+ аналогичная сеть Audio2Face для анимации лица)(способ 4)
После чего через движок делают видео 3д модели
И обрабатывают это видео нейронной сетью которая, по сути, делает трансфер стиля “чтобы было похоже на реального Хуанга”.
При этом можно использовать принципиально другие подходы к рендерингу/нейронные сети могут помочь в других его проявлениях. Например вот тут:
ребята используют нейронную сеть чтобы сгладить/улучшить облако точек/починить проблемы 3д камер.
Примерно для таких же целей «улучшения» есть сетки по типу GanCraft, на которую вы могли наткнуться:
Нейронки для генерации по 2D-скелету
Сетка выше требует предварительно сгенерированного человека. Что не всегда просто. Посмотрим как задача решается в ситуации когда мы хотим сгенерировать изображение когда у нас есть только скелет.
На вход нужно подать человека которого мы моделируем. Плюс несколько дополнительных параметров для него:
Сегментационную карту частей тела
И, вуаля, можно отрендерить. На практике, когда я решил поэкспериментировать, у меня не получилось такого качества как показывают авторы:
Забафанная сеть по скелетам
Первый подход
Здесь генерация идет не только по скелету. К скелету добавляется сегментационная карта человека. Такую карту обычно не сложно создать из генератора, либо заснять с реального человека. А в случае с PINet авторы даже пробуют сами синтезировать её:
Второй подход
Если чуть-чуть добавить данных, то все будет сильно проще для нейронки:)
По сути, вместо скелета и карты частей тела можно подложить 3D болванку человека, которую использовать в качестве опорных данных (в каждой точке болванки дается оценка нормали точки (плюс, для одной статьи используется зеркальное отражение)):
Есть две хороших статьи текущего года которые так умеют (и обе без сорсов, так что нет уверенности что все работает!):
Который дает такие результаты:
С такими результатами:
С сорсами тоже есть одна сетка. Но там:
Сильно более важно 3D, так как по сути текстурируется болванка предварительно выделенного тела
Качество сильно хуже.
Пару слов про видео
Поговорим про трансфер текстура-текстура для видео. Эти подходы больше всего разрабатываются в Snap. И самые лучшие статьи по этой теме у них. Вы могли наталкиваться на First Order Motion Model из 2019 года или на более свежую Motion Representation for Articular Animation из 2021:
First Order Motion Model
Motion Representation for Articular Animation
Идея и тут и там близка к тем что было выше в скелетах/расширенных скелетах, только завернуто с другой стороны и оптимизировано под видео:
В качестве опоры для восстановления используется скелет(FOMM)/сегментационная карта(MRAA) (только в данных работах они получаются из видео, а в тех что мы смотрели выше их можно получить и из других источников)
Используется различный Optical Flow для оценки ситуации в видео
Используется различный набор трансформаций для оценки того как изменилось положение человека.
Но нужно понимать ряд ограничений данного подхода:
Он сложнее вычислительно
Его сложнее обучать
При этом нельзя отметить, что out-of-the-box результата такие сетки дают неплохое качество:
Про слова
А прелесть VQGAN’а в том что можно создать любой Conditional Stream с априорными данными. Например авторы предлагают вот так:
Небольшое отступление по VQGAN
Раз мы упомянули про VQGAN, то сделаю небольшое отступление на его тему. Мне кажется что в следующие пару лет оно может упростить сегодняшние подходы.
Даже небольших вычислительных мощностей хватает чтобы сделать следующее (во второй половине этого видео я подробнее рассказываю как я потратил пару вечеров чтобы запустить это хозяйство):
Чтобы обучить VQGAN до такого состояния на слабой машине нужно один вечер
Восстановление по Conditional стриму скелета, конечно, учится хуже, даже за пару вечеров. Тут, чтобы получить качество лучше, нужно вбухать большие вычислительные ресурсы.
Про основу для генерации
Теперь нужно вернуться и поговорить что используется в качестве основы для генератора. Я не буду глубоко рассказывать как это все делать, лишь обозначу возможные варианты.
Можно использовать для генерации любой 3D движок, в котором можно отрисовать человека. При этом, есть следующие варианты:
Можно генерировать изображение человека целиком (как пример Nvidia). Для этого понадобиться сделать плюс-минус качественный скан.
Можно генерировать только скелет
Можно генерировать скелет и маску частей тела/маску
Можно генерировать карту нормалей/depth изображение
Мы в нескольких проектах использовали Unity для генерации таких данных. Я знаю, что люди делали и что-то полусамописное. Кто-то для похожих задач использовал Unreal.
Кроме 3D, зачастую надо сделать анимацию. И тут, опять же, много вариантов. Для того же Unity есть много предварительно сгенеренных анимаций. Несложно записать MotionCaption для целевых действий. Например мы делали такое когда генерировали датасеты с активностями и падениями в CherryLabs:
Nvidia для анимации Дженсона использовала красивый подход “audio2gestures”:
embedding-код для действий, в который проецируется аудио. https://svito-zar.github.io/audio2gestures/
Есть подходы где анимация генерируется по вектору движения и по 3д местности:
10 лучших конструкторов видео. Где быстро сделать короткое видео
Конструктор видео – это онлайн-сервис, где можно быстро сделать видео для соцсетей или сайта, не прибегая к помощи специалистов. Конструкторы доступны новичкам и не требуют каких-то серьезных навыков – в их работе можно разобраться менее, чем за 1 день.
Чтобы сделать ролик, вам не обязательно изучать сложные программы по монтажу вроде Adobe After Effects или Premiere Pro – достаточно выбрать подходящий сервис и можно начинать творить.
Рекомендуем: Click.ru – маркетплейс рекламных платформ:
В статье мы подобрали 10 конструкторов видео, описали их основные возможности, а также плюсы и минусы.
Критерии оценки сервисов для создания видео
Мы рассмотрели несколько основных критериев конструкторов видео:
ТОП-10 конструкторов видео: сайты, где можно сделать ролик онлайн
Canva
Canva – всем известный сервис, который изначально задумывался, как редактор графики. Здесь можно создавать посты и обложки для соцсетей, видео-визитки, трейлеры, видео презентации, постеры, логотипы и многое чего еще. Теперь в Canva можно делать анимированные посты и сторис, а затем сохранять их в формате mp4 или GIF.
Язык: русский.
Форматы экспорта: экспорт в GIF и mp4.
Шаблоны: есть. Готовые шаблоны только квадратные (размер 800 рх х 800 рх), но можно взять любой статичный шаблон и добавить туда анимированные объекты.
Аудио: есть своя библиотека музыки.
Плюсы:
Минусы:
SUPA – это конструктор, на основе которого сделан редактор в ВК. Но здесь больше возможностей для работы с видео. Можно взять готовый шаблон за основу или начать с нуля. Задаете фон, добавляете текст, анимацию, музыку, порядок появления элементов, и ролик готов. В результате получаются короткие видео для соцсетей. В SUPA есть конвертация между размерами – то есть, можно легко переделать, например, квадратное видео под сторис без потери качества. При этом не нужно делать ролик заново.
В SUPA можно делать квадратные, горизонтальные видео, Stories, обложку для Фейсбук, футаж или видео-визитку. Есть также возможность самому настроить размер видеоролика.
Цена: бесплатно c логотипом SUPA, премиум за 990 рублей/месяц, премиум плюс за 1 690 рублей/месяц.
Язык: русский.
Форматы экспорта: экспорт в GIF, HD и full HD (mp4).
Шаблоны: есть, можно настроить любой размер видео или выбрать из готовых форматов: квадрат, сторис, обложка Фейсбук, вертикальное видео. Все шаблоны разбиты на категории: пользовательские, живые обложки VK, соцсети, рекламные, цитаты и т. д.
Аудио: можно загрузить свой трек или добавить из библиотеки конструктора.
Плюсы:
Минусы:
Crello
Crello – этот ресурс аналог Canva. Здесь тоже можно делать графику для соцсетей и сохранять видео. Их редакторы почти не отличаются друг от друга, даже интерфейсы у них похожи.
Язык: русский.
Форматы экспорта: экспорт в GIF и mp4.
Шаблоны: есть квадратные видео шаблоны, вертикальные шаблоны для сторис, формат видео обложки для Фейсбук и full HD 1920 рх х 1080 рх. Плюс можно взять любой статичный шаблон и добавить туда анимированные объекты.
Аудио: нет.
Плюсы:
Минусы:
Конструктор ВКонтакте
В рекламном кабинете ВКонтакте есть бесплатный встроенный редактор видео. Созданный в нем ролик можно использовать для рекламной кампании. Подробнее о том, как сделать видео в конструкторе ВК читайте в нашей статье.
Конструктор очень простой, здесь можно выбрать соотношение сторон (квадрат, прямоугольник, вертикальное видео), длительность каждого слайда – от 2 до 20 секунд, эффект перехода, встроенная библиотека музыки.
Видео делается из слайдов, сменяющих друг друга. На каждом слайде можно сделать фон в виде изображения или заливки цветом, добавить текст, отредактировать шрифт. Видео можно сделать зацикленным.
При сохранении ролика нужно указать сообщество, в котором он будет сохранен (там появится отдельная папка «Рекламные видео»). Видеоролик можно опубликовать в своей группе или оставить скрытым от подписчиков. Также можно сохранить макет ролика и потом на его основе делать другие видео.
Цена: бесплатно.
Язык: русский.
Форматы экспорта: нельзя экспортировать в файл, можно только сохранить в сообществе или рекламном кабинете. Скачать видео на компьютер можно только при помощи сторонних программ, например, VK Saver.
Шаблоны: нет.
Аудио: нельзя загрузить свою музыку, встроенная библиотека содержит всего 20 треков.
Плюсы:
Минусы:
Veed – это простой редактор видео. К ролику можно добавить текст, изображения, стикеры, фигуры и музыку. Подходит тем, кому нужно собрать простенькое видео по-быстрому. Видео можно обрезать, ускорить или замедлить, добавить свой водяной знак и субтитры. В редакторе есть фильтры и несколько готовых шаблонов для постов и сторис в Инстаграм.
Язык: английский.
Форматы экспорта: экспорт в GIF и mp4.
Шаблоны: есть, доступно несколько размеров – оригинальный, квадратный, 16:9 (подходит для Youtube), 4:5 и 5:4 для Фейсбука (+ формат для обложки), вертикальные для сторис и Тик Ток, шаблоны для Pinterest.
Аудио: нет встроенной библиотеки, можно закачать свой трек.
Плюсы:
Минусы:
Animaker
Animaker – мощный конструктор, в котором можно создавать видео с 2D анимацией, рисованные видео (Whiteboard), видео инфографику и типографику, футаж, промо ролики, поздравления. Ролик создается из сцен, куда добавляются анимированные персонажи и статичные объекты из библиотеки. У каждого персонажа несколько вариантов анимации.
Язык: русский, английский.
Форматы экспорта: mp4.
Шаблоны: есть, в основном стандартные горизонтальные 16:9.
Аудио: есть библиотека музыки и звуковых эффектов, можно загрузить свой трек.
Плюсы:
Минусы:
PowToon
PowToon – это профессиональный аналог Анимейкера. Здесь намного больше возможностей для создания видео, приятный интерфейс, куча анимированных персонажей, объектов и сцен. Ресурс подходит для создания коммерческих видео и презентаций.
Есть 2 режима работы с видео: edit – можно вносить незначительные изменения в шаблон (например, заменить текст или анимацию) и create – полноценный редактор, где можно добавлять новые объекты и сцены, а также музыку.
Язык: английский.
Форматы экспорта: GIF и mp4 full HD.
Шаблоны: есть, горизонтальные видео 16:9 (подходит для Youtube) и квадратные для соцсетей.
Аудио: встроенная библиотека музыки.
Плюсы:
Минусы:
Biteable
Biteable – еще один удобный конструктор с шаблонами. У редактора 2 версии – Biteable 1.0, вся суть которого сводится к выбору готовых слайдов и замены в них текста и второй – Biteable 3.0. В первом редакторе более 1 000 готовых сцен и 800 000 видео футажей. Тут действительно есть из чего выбрать. Минимальные настройки компенсируются богатым выбором.
Во втором редакторе больше возможностей для работы с текстом и фоном, на выбор более 300 шаблонов. Но в целом, редактор все равно простоват.
Язык: английский.
Форматы экспорта: mp4.
Шаблоны: есть, доступны шаблоны 16:9 (вертикальные и горизонтальные), квадратные видео для соцсетей и формат 4:5.
Аудио: есть своя библиотека музыки, в версии Biteable 3.0 можно загрузить свой трек.
Плюсы:
Минусы:
Flexclip
Flexclip – простой конструктор, ничего особенного. Сюда можно загрузить фото и видео с компьютера или импортировать медиа файлы из встроенной библиотеки. Основные настройки – это замена фона, обработка текста, добавление музыки и изменение размера видео (доступны форматы 1:1, 16:9 и 9:16). Очень минималистичный цифровой сервис.
Язык: английский.
Форматы экспорта: mp4.
Шаблоны: есть, почти все шаблоны горизонтальные 16:9, но в настройках проекта можно изменить видео на вертикальное или квадратное для соцсетей.
Аудио: есть библиотека стоковой музыки.
Плюсы:
Минусы:
Vizia
Vizia – бесплатный сервис, в котором можно делать интерактивные видео с опросами и анкетированием. Готовое видео можно поставить на сайт при помощи html-кода и собирать через него контакты. Видео, сделанные на конструкторе, хорошо работают на движке WordPress, магазинах Shopify, в конструкторе сайтов Weebly, соцсети Tumblr и т.д.
В видео можно добавить 1 из 4 интерактивных элементов: тест, опрос, вопрос, призыв к действию. Еще можно включить функцию «Gate video», тогда в начале видео зрителей попросят заполнить имя и е-мейл.
Цена: бесплатно.
Язык: английский.
Форматы экспорта: html-код.
Шаблоны: нет.
Аудио: нет и нельзя загрузить.
Плюсы:
Минусы: