O filtro Alphamerge só funciona no primeiro quadro

O filtro Alphamerge só funciona no primeiro quadro

Estou tentando implementar um filtro de desfoque sobre um objeto específico não retangular, tenho uma máscara e um vídeo de amostra, mas o problema é que o resultado da mesclagem alfa do primeiro quadro do vídeo é aplicado a todo o vídeo (como se você sobrepusesse uma imagem estática em toda a duração do vídeo ) Eu usei o seguinte comando

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

amostra_video.mp4 imagem_mascarada.png

ATUALIZAR: Sua solução está funcionando muito bem, mas agora o valor da intensidade do desfoque não está afetando a intensidade do desfoque

Imagem de máscara

Imagem de amostra

Resultado com boxblur=10

Resultado com boxblur=30

Responder1

Sua máscara é uma imagem única, portanto não rastreia o assunto, mas presumo que seu problema seja que os pixels de sobreposição são estáticos. Você precisará fazer um loop na máscara, pois o alphamerge termina com a entrada mais curta e a sobreposição repetirá o último quadro da entrada secundária.

ffmpeg -y -i sample_video.mp4 -loop 1 -i masked_image.png ...

informação relacionada