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

Sobreponha uma imagem com uma configuração de opacidade no Ffmpeg
  • Quero sobrepor uma imagem com uma configuração de opacidade

  • Sei como sobrepor uma imagem em um vídeo, mas também não entendo como definir seu nível de opacidade. Posso facilmente adicionar uma marca d'água no meu vídeo, mas essa marca d'água tem 100% de opacidade:

  • Mas como faço para que o arquivo de imagem tenha 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] Filtro inexistente: 'opacidade' Erro ao abrir filtros!

Responder1

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 geqfiltro não detecta automaticamente se a entrada é RGB ou YUV e segue a sugestão da presença de uma expressão de um dos planos não alfa, portanto, um deles deve ser especificado. Especifiquei uma expressão para o plano R e configurei-a como identidade, para que não seja alterada.

informação relacionada