FFMPEG фильтр для boxblur и оттенков серого видео с использованием альфа-маски

Может кто-нибудь показать мне, как улучшить пример, найденный здесь: FFmpeg - применить размытие на лице

Чтобы сделать следующее:

  1. Используйте входную альфа-маску PNG вместо объявленной прямоугольной области
  2. размытие и смазывание маскированной области

Это еще один пример - показывает, как использовать файл альфа-маски. Обрезать треугольную область с помощью FFMPEG.

Спасибо

1 ответ

Решение

Вот метод, использующий alphamerge, hue, boxblur, а также overlay,

оригиналразмытыймаскировать

Исходный ввод, отфильтрованный вывод, маска изображения.

Пример:

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
  • Маска должна быть того же размера, что и входные данные. Если это не так, вы можете использовать scale или же scale2ref изменить его размер.

  • Звук копируется потоком, чтобы избежать ненужного кодирования.

Другие вопросы по тегам