FFMpeg: Adicione uma máscara circular sobre um vídeo

1

Eu tenho um vídeo que quero mascarar dentro de um círculo no centro do vídeo. Eu descobri que posso fazer uma máscara quadrada, mas como eu poderia fazer um círculo (sem referenciar uma imagem para mascarar)?

    
por Daniel Jacob Archer 30.11.2016 / 01:36

1 resposta

1

Supondo que você esteja usando a máscara invertida, use

ffmpeg -y -i video.mp4 -loop 1 -t 1 -i mask.png
  -filter_complex
      "color=black:d=1[c];[c][0]scale2ref[cs][v];[cs]setsar=1[ct];
       [1:v]alphaextract,negate[m];[m][ct]scale2ref[ms][ol];[ms]setsar=1[alf];
       [ol][alf]alphamerge[fin];
       [v][fin]overlay,scale‌​=640:1136:force_orig‌​inal_aspect_ratio=de‌​crease[fv];
       [fv]pad=6‌​40:1136:(ow-iw)/2:(o‌​h-ih)/2:#000000@1[v]‌​"
-map "[v]" -map 0:a output.mp4

Primeiro, uma sobreposição preta é criada. É redimensionado para o tamanho do vídeo. Em seguida, a máscara é redimensionada para o tamanho da sobreposição. Então seu canal alfa é extraído e negado; mesclado com a sobreposição de cores. O resultado é sobreposto ao vídeo, o resultado é redimensionado e preenchido com preto conforme necessário.

Se a máscara não estiver invertida, remova o negate .

    
por 30.11.2016 / 13:23

Tags