Фильтр Alphamerge работает только на первом кадре

Я пытаюсь реализовать фильтр размытия по конкретному объекту без прямоугольника, у меня есть маска и образец видео, но проблема в том, что результат alphamerge первого кадра видео применяется ко всему видео(например, вы наложили статическое изображение на всю длину видео)
Я использовал следующую команду

ffmpeg -y -i sample_video.mp4 -i masked_image.png -filter_complex 
"[0:v][1:v]alphamerge,boxblur=16[alf];[0:v][alf]overlay[v]" -map [v] -map 0:a -c:a copy -preset ultrafast test.mp4

sample_video.МР4 masked_image.png

обновление:
Ваше решение работает достаточно хорошо, но теперь интенсивность размытия значение не влияет на интенсивность размытия

Маска

Пример Изображения

результат с boxblur=10

результат с boxblur=30

21
задан Zain Ali
14.12.2022 21:56 Количество просмотров материала 2395
Распечатать страницу

1 ответ

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

ffmpeg -y -i sample_video.mp4 -loop 1 -i masked_image.png ...
1
отвечен Gyan 2022-12-16 05:44

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх