FFmpeg - Fade apenas na marca d'água

FFmpeg - Fade apenas na marca d'água

Estou tentando colocar uma imagem watermark.png em um vídeo com efeito fade-in. Este é o meu comando:

ffmpeg -i input_vid.mp4 -c:v libx264 -pix_fmt yuv420p -vf filme=marca d'água_3.png, escala=144:31 [marca d'água]; [in][marca d'água] overlay=5:Hh-15, fade=in:0:30:alpha=1[out] -s 180x320 -preset ultrafast -c:a copy out.mp4

Mas isso faz com que todo o vídeo fique preto. Alguma ideia?

Responder1

Usar

ffmpeg -i input_vid.mp4 \
      -vf "movie=watermark_3.png:loop=0.1,setpts=N/FRAME_RATE/TB,scale=144:31,format=rgba,fade=in:0:30:alpha=1[watermark]; \
           [in][watermark]overlay=5:H-h-15:shortest=1,scale=180x320[out]" \
      -c:v libx264 -pix_fmt yuv420p -preset ultrafast -c:a copy out.mp4

O fade deve ser aplicado na cadeia da marca d'água para afetá-la apenas. O sinalizador de loop é definido como um número abaixo de um, para que ele faça um loop na imagem única indefinidamente. setpts garante carimbos de data / hora crescentes monotonicamente.

informação relacionada