1

У меня есть видео, которое я хочу замаскировать внутри круга в центре видео. Я обнаружил, что могу сделать квадратную маску, но как я могу сделать круг (без ссылки на изображение, чтобы замаскировать его)?

1 ответ1

1

Предполагая, что вы используете инвертированную маску, используйте

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

Сначала создается черное наложение. Размер уменьшен до размера видео. Затем маска изменяется до размера наложения. Затем его альфа-канал извлекается и отменяется; объединены с цветом наложения. Результат накладывается на видео, размер изменяется и дополняется черным цветом по мере необходимости.

Если маска не инвертирована, удалите negate .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .