Fade in e Fade out watermark em um vídeo a cada x segundos / minutos por y segundos / minutos usando o FFMPEG

0

Gostaria de saber se há um a desaparecer e diminuir a marca d'água em um vídeo a cada x segundos / minutos por y segundos / minutos usando o FFMPEG. Eu tentei o -filter_complex para ver se ele pode ajudar, mas eu não tenho nenhum resultado.

    
por Joel Corporan 27.08.2016 / 23:11

1 resposta

2

Você pode usar o filtro de loop.

ffmpeg -i video -loop 1 -i logo.png -filter_complex
        "[1]trim=0:30,fade=in:st=0:d=1:alpha=1,fade=out:st=9:d=1:alpha=1,
            loop=999:750:0,setpts=N/25/TB[w];
         [0][w]overlay=shortest=1"  out.mp4

Primeiro, o fluxo da imagem do logotipo é cortado para uma duração de x segundos, aqui 30. Em seguida, um fade-in e um fade-out de 1 segundo são aplicados. O fade-out começa em y-1 segundos, aqui 9. Esse resultado é repetido em loop 999 vezes - use um número suficiente para abranger a duração do vídeo. Desde que eu cortei um segmento de 30 segundos, o tamanho do segmento a ser colocado em loop é duration x framerate , aqui 30 x 25 = 750 . O loop começa no quadro inicial 0 . Finalmente, o filtro de loop não limpa os timestamps, então os setpts são adicionados para produzir uma série monotônica.

O fluxo é então sobreposto no vídeo.

    
por 28.08.2016 / 09:59