У меня есть видео, которое я хочу замаскировать внутри круга в центре видео. Я обнаружил, что могу сделать квадратную маску, но как я могу сделать круг (без ссылки на изображение, чтобы замаскировать его)?
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_original_aspect_ratio=decrease[fv];
[fv]pad=640:1136:(ow-iw)/2:(oh-ih)/2:#000000@1[v]"
-map "[v]" -map 0:a output.mp4
Сначала создается черное наложение. Размер уменьшен до размера видео. Затем маска изменяется до размера наложения. Затем его альфа-канал извлекается и отменяется; объединены с цветом наложения. Результат накладывается на видео, размер изменяется и дополняется черным цветом по мере необходимости.
Если маска не инвертирована, удалите negate
.