FFmpeg видео из картинки со скроллом

FFmpeg — это фреймворк который позволяет делать разные крутые штуки с видео, аудио и картинками. Его можно использовать как самостоятельное консольное приложение или встраивать его в свои продукты (FFmpeg выпускается под лицензией LGPL).

Одно из очень полезных его применений — создание роликов из статичного контента, картинок и текста. Например для описаний товаров. Об этом его применении и пойдет речь в запланированной серии роликов на канале Azzrael.

Задача

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

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

В результате мы планируем разработать некоторый программный комплекс, который мог бы делать такие пакеты видеоконтента на потоке по заранее заданному сценарию.

Разработка идет под Windows 10 x64, но в целом все в ролик не сложно портировать на *nix.

Сегодня начало, поэтому просто скачаем ffmpeg и напишем простой консольный скрипт (bat), который из картинки делает видео с прокручиваемой картинкой.

Установка FFmpeg под Windows 10 x64

Нам для работы нужен обычный бинарник (готовый к запуску файл, программа) ffmpeg.exe. Качаем нужную версию с официального сайта.

  • В архиве несколько файлов, нам нужен только ffmpeg.exe.
  • Создаем папку проекта, разархивируем туда ffmpeg.exe.
  • В эту же папку проекта кладем картинку из которой будем делать видео.
  • Создаем в этой папке файл run.bat — это обычный текстовый файл, в котором мы будем писать скрипт. Bat файл это исполняемый скрипт windows. Для его запуска просто кликните по нему дважды.

Пишем скрипт для создания видео с прокруткой

В файл run.bat пишем следующий код


Сохраняем. Запускаем. Если все прошло хорошо, то в папке должен появиться файл out.mp4. Это результат работы нашего скрипта.

Как работает скрипт ffmpeg создания видео из картинки с прокруткой

Сначала мы создаем два потока (параметры -i) первый поток — это фон с заливкой цветом. Второй поток — это наша картинка. -s задает размер видео, -t его продолжительность.

-filter_complex делает всю магию. Здесь мы берем поток картинки и растягиваем его по ширине видео = 1920. Затем мы его накладываем на фон с заливкой и каждый кадр смещаем картинку вверх, таким образом создаем эффект скроллинга. Скорость скроллинга, его направление, мы можем регулировать в фильтре overlay.

Ссылки

lavfifilter_complexscaleoverlay