FFMPEG фильтр для boxblur и оттенков серого видео с использованием альфа-маски
Может кто-нибудь показать мне, как улучшить пример, найденный здесь: FFmpeg - применить размытие на лице
Чтобы сделать следующее:
- Используйте входную альфа-маску PNG вместо объявленной прямоугольной области
- размытие и смазывание маскированной области
Это еще один пример - показывает, как использовать файл альфа-маски. Обрезать треугольную область с помощью 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
изменить его размер.Звук копируется потоком, чтобы избежать ненужного кодирования.