Наложение большого изображения на маленькое видео, например Snapchat - PullRequest
0 голосов
/ 09 мая 2019

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

Команда Ffmpeg -

String[]{"-y", "-i", filePath, "-i",
            overlayPath,
            "-preset", "ultrafast",
            "-filter_complex",
            "[1][0]scale2ref[i][m];[m][i]overlay[v]", "-map",
            "[v]", "-map", "0:a?", "-ac", "2", output};

Я хочу, чтобы следующая выходная ссылка была упомянута ниже.

Snapchat Snapchat

Вывод результатов моего редактирования

1 Ответ

1 голос
/ 10 мая 2019

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

ffmpeg -i intro-blur.mp4 -i 3.jpg -filter_complex "[0]scale=720:1280:force_original_aspect_ratio=decrease,pad=720:1280:(ow-iw)/2:(oh-ih)/2,setsar=1[backd],[backd][1]overlay" out_intro_blur.mp4

Вы можете масштабировать оверлейное изображение как «scale = 1439x2559». Здесь к оверлейному изображению можно получить доступ «[1]». Если вы хотите масштабировать оверлейное изображение, вы можете использовать [1] scale = 1439x2559 [scaled_image], после этого вы можете использовать [scaled_image] для наложения на видео.

пример ниже

ffmpeg -i intro-blur.mp4 -i 3.jpg -filter_complex "[0]scale=720:1280:force_original_aspect_ratio=decrease,pad=720:1280:(ow-iw)/2:(oh-ih)/2,setsar=1[backd],[1]scale=1439x2559[scaled_image],[backd][scaled_image]overlay" out_intro_blur.mp4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...