1
  • Я хочу наложить изображение с настройкой непрозрачности
  • Я знаю, как наложить изображение на видео, но я также не понимаю, как установить его уровень непрозрачности. Я могу легко добавить водяной знак в мое видео, но этот водяной знак имеет непрозрачность 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] Нет такого фильтра: «непрозрачность» Ошибка при открытии фильтров!

1 ответ1

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 a='0.5*alpha(X,Y)' устанавливает альфа, т.е. непрозрачность.

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

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