2

Я хотел бы посмотреть мое видео внутри коробки с этим шаблоном. Можно ли сделать это с помощью ffmpeg?

Размер шаблона не имеет значения. Это может быть больше, чем показано.

1 ответ1

3

Использовать этот:

 ffmpeg -y -loop 1 -i background_image.png -i mainmovie.mov -filter_complex "[0:v]setpts=PTS-STARTPTS[V1]; [1:v]setpts=PTS-STARTPTS, scale=800:452[V2]; [V1][V2]overlay=shortest=1:x=240:y=134" out.mov  

Здесь фоновое изображение (например, background_image.png) используется как один вход для фильтра наложения, а основной фильм (например, mainmovie.mov) - другой. Чтобы сопоставить метки времени начала, я использовал фильтр setps для обоих, установив метку времени начала на 0. Выход второго входа масштабируется до 800x452, а не 800x453, поскольку фильтр масштабирования имеет проблемы, когда число не делится на 2.

Выходные данные помечены как [V2] и переданы наложенному фильтру, при этом задание shortest=1 , что подразумевает кодирование до самого короткого входа. Поскольку фоновое изображение генерируется в бесконечном цикле, самая короткая длина здесь - это длина входного основного фильма. Так что это кодирует до конца фильма.

Позиционирование в половине значения 1280-800 = 480, разделить на 2, чтобы получить 240. Аналогично для значения пикселя y. Но ваш фактический угол коробки может быть другим. И вам может понадобиться использовать больше параметров кодирования, в зависимости от входного файла фильма и требуемого вывода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .