Filtro FFMPEG para boxblur e escala de cinza de um vídeo usando máscara alfa

Filtro FFMPEG para boxblur e escala de cinza de um vídeo usando máscara alfa

Alguém pode me mostrar como aprimorar o exemplo encontrado aqui: FFmpeg - Aplicar desfoque no rosto

Para fazer o seguinte:

  1. Use uma máscara alfa de entrada PNG em vez de uma região retangular declarada
  2. ambos desfocadoseescala de cinza da região mascarada

Este é outro exemplo - mostrando como usar um arquivo de máscara alfa Cortar área triangular com FFMPEG

Obrigado

Responder1

Aqui está um método usandoalphamerge,hue,boxblur, eoverlay.

original borrado mascarar

Entrada original, saída filtrada, imagem de máscara.

Exemplo:

ffmpeg -i input -loop 1 -i mask.png -filter_complex \
"[0:v][1:v]alphamerge,hue=s=0,boxblur=5[fg]; \
 [0:v][fg]overlay[v]" -map "[v]" -map 0:a -c:a copy output
  • A máscara deve ter o mesmo tamanho da entrada. Se não for você poderia usarscaleouscale2refpara redimensioná-lo.

  • O áudio éfluxo copiadopara evitar codificação desnecessária.

informação relacionada