Quiero superponer una imagen con una configuración de opacidad
Sé cómo superponer una imagen en un vídeo, pero tampoco entiendo cómo configurar su nivel de opacidad. Puedo agregar fácilmente una marca de agua en mi video, pero esta marca de agua tiene una opacidad del 100%:
¿Pero cómo hago para que el archivo de imagen tenga una opacidad del 50%?
Ejemplo:
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] No existe tal filtro: 'opacidad' ¡Error al abrir filtros!
Respuesta1
Utilice el siguiente comando.
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
Establece a='0.5*alpha(X,Y)'
el alfa, es decir, la opacidad.
El geq
filtro no detecta automáticamente si la entrada es RGB o YUV y se inspira en la presencia de una expresión de uno de los planos no alfa, por lo que se debe especificar uno de ellos. He especificado una expresión para el plano R y la configuré en identidad, para que no se modifique.