Sobrepor uma imagem com uma configuração de opacidade no Ffmpeg

1
  • Quero sobrepor uma imagem com uma configuração de opacidade
  • Eu sei sobrepor uma imagem em um vídeo, mas não entendo como definir seu nível de opacidade também. Posso adicionar facilmente uma marca d'água no meu vídeo, mas essa marca d'água está em 100% de opacidade:

  • Mas como faço o arquivo de imagem ter uma opacidade de 50%?

    Exemplo: 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 such filter: 'opacity' Error opening filters!

    
por Ffmpeg fans 22.06.2016 / 09:03

1 resposta

1

Use o comando abaixo.

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

O a='0.5*alpha(X,Y)' define o alfa, ou seja, a opacidade.

O filtro geq não detecta automaticamente se a entrada é RGB ou YUV e toma sua sugestão a partir da presença de uma expressão de um dos planos não alfa, portanto, um deles precisa ser especificado. Eu especifiquei uma expressão para o plano R e configurei para identidade, por isso não foi alterada.

    
por 22.06.2016 / 09:36