ffmpeg: congela quadro em vídeo, um passo

1

Meu objetivo é pegar o primeiro quadro de um vídeo, aparecer a partir do preto neste quadro congelado e continuar com o restante do vídeo.

Eu posso pegar o primeiro quadro com facilidade:

ffmpeg -ss 0.0 -i master.mov -frames:v 1 firstframe.png

Dada essa imagem, posso diminuí-la em mais de um segundo e concatenar com o vídeo original:

ffmpeg -loop 1 -i firstframe.png -i master.mov -filter_complex \
"[0:v] trim=duration=1, fade=t=in:st=0:d=1 [fadein]; \
[fadein][1:v]concat=n=2, format=yuv420p [output]" \
-map [output] output.mov

Minha pergunta, é possível fazer isso em uma única passagem?

    
por coco 19.08.2016 / 21:45

1 resposta

1

Use

ffmpeg -i master.mov -filter_complex \
"[0]trim=start_frame=0:end_frame=1,loop=F:1:0,setpts=N/FRAME_RATE/TB,fade=st=0:d=1[fade]; \
 [fade][0]concat,format=yuv420p" output.mov

Substitua F pela taxa de quadros do seu vídeo.

    
por 20.08.2016 / 08:15

Tags