
Я пытаюсь реализовать фильтр размытия для определенного непрямоугольного объекта, у меня есть маска и образец видео, но проблема в том, что результат альфа-слияния первого кадра видео применяется ко всему видео (как будто вы наложили статическое изображение на всю длину видео). Я использовал следующую команду
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
образец_видео.mp4 замаскированное_изображение.png
ОБНОВЛЯТЬ: Ваше решение работает достаточно хорошо, но теперь значение интенсивности размытия не влияет на интенсивность размытия.
решение1
Ваша маска представляет собой одно изображение, поэтому она не будет отслеживать объект, но я предполагаю, что проблема в том, что пиксели наложения статичны. Вам нужно будет зациклить маску, поскольку alphamerge завершается самым коротким входом, а наложение будет повторять последний кадр вторичного входа.
ffmpeg -y -i sample_video.mp4 -loop 1 -i masked_image.png ...