Наложение изображения с настройкой непрозрачности в Ffmpeg

Наложение изображения с настройкой непрозрачности в Ffmpeg
  • Я хочу наложить изображение с настройкой непрозрачности

  • Я знаю, как наложить изображение на видео, но не понимаю, как установить уровень его непрозрачности. Я могу легко добавить водяной знак на свое видео, но этот водяной знак имеет непрозрачность 100%:

  • Но как сделать так, чтобы файл изображения имел непрозрачность 50%?

    Пример: ffmpeg -i in.mp4 -i image.png -af "pan=stereo|c0<c0+c2|c1<c1+c3,aeval=val(0)|val(1),volume=1.6" -vf "opacity=0.5" out.mp4

[AVFilterGraph @ 0000000000316dc0] Такого фильтра нет: «opacity» Ошибка открытия фильтров!

решение1

Используйте команду ниже.

ffmpeg -i in.mp4 -i image.png \
-af "pan=stereo|c0<c0+c2|c1<c1+c3,aeval=val(0)|val(1),volume=1.6" \
-filter_complex "[1]geq=r='r(X,Y)':a='0.5*alpha(X,Y)'[a];[0][a]overlay" out.mp4

Устанавливает a='0.5*alpha(X,Y)'альфа, т.е. непрозрачность.

Фильтр geqне определяет автоматически, является ли вход RGB или YUV, и берет сигнал от наличия выражения одной из неальфа-плоскостей, поэтому одну из них нужно указать. Я указал выражение для плоскости R и установил его на идентичность, поэтому оно не изменяется.

Связанный контент