A sintaxe para adicionar uma marca d'água é um pouco diferente. Você precisa de filtros de vídeo para isso, que já vem com o FFmpeg.
Não sei se você pode adicionar uma marca d'água transparente a uma faixa separada. O motivo é que a própria imagem (o "fluxo" de PNG) precisa ser transformada em uma trilha de vídeo real (por exemplo, com x264) - e como os codificadores de vídeo não suportam transparência nesse estágio, você não obterá uma imagem transparente .
A seguir, você adicionará logo.png
a base.mov
no canto superior direito. Você pode usar os seguintes parâmetros para determinar a posição - no meu exemplo, coloquei apenas dez pixels de distância da borda:
-
main_w
(largura do vídeo principal) -
main_h
(altura do vídeo principal) -
overlay_w
(largura do vídeo de sobreposição) -
overlay_h
(overlay video hieght)
O comando do filtro seria então:
movie='logo.png' [logo]; [in][logo] overlay=main_w-overlay_w-10:10 [out]
Transformando isso em um comando FFmpeg completo:
ffmpeg -i base.mov -vf "movie='logo.png' [logo]; [in][logo] overlay=main_w-overlay_w-10:10 [out]" -c:v libx264 -crf 20 out.mov
Os parâmetros -c:v libx264 -crf 20
determinam o codec de vídeo de saída e sua qualidade (onde o CRF provavelmente será de 19 a 24, dependendo da qualidade desejada; quanto menor melhor).
Há uma boa postagem no blog sobre esse assunto aqui: Como para marcar um vídeo usando FFmpeg . Ele entra em detalhes de posicionamento.