ffmpeg crossfading multiplas imagens

1

Estou tentando desbastar várias imagens. Eu encontrei um pedaço de código útil em este segmento de superusuário . Até agora estou preso neste ponto:

ffmpeg -loop 1 -i img0.jpg -loop 1 -i img1.jpg -i img2.jpg -f lavfi -i color=black \
-filter_complex "\
[0:v]scale=480x320,format=pix_fmts=yuva420p,fade=t=out:st=3:d=0.25:alpha=1[va0]; \
[1:v]scale=480x320,format=pix_fmts=yuva420p,fade=t=in:st=3:d=0.25:alpha=1,fade=t=out:st=6:d=0.25:alpha=1[va1]; \
[2:v]scale=480x320,format=pix_fmts=yuva420p,fade=t=in:st=6:d=0.25:alpha=1[va2]; \
[3:v]scale=480x320,trim=duration=9[over0];\
[over0][va0]overlay[over1]; \
[over1][va1]overlay=format=yuv420[over2]; \
[over2][va2]overlay=format=yuv420[outv]" \
-c:v libx264 -map [outv] -y -t 9 outcross.mp4

Após o segundo clipe, ele fica preto. Parece ter perdido alguma coisa.

Eu ainda sou um novato no FFmpeg, então não estou muito familiarizado em fazer várias operações.

    
por nik1337 09.07.2015 / 14:23

2 respostas

0

Você perdeu um -loop 1 para a terceira imagem.

ffmpeg -loop 1 -i img0.jpg -loop 1 -i img1.jpg -loop 1 -i img2.jpg -f lavfi -i color=black -filter_complex "\
[0:v]scale=480x320,format=pix_fmts=yuva420p,fade=t=out:st=3:d=0.25:alpha=1[va0]; \
[1:v]scale=480x320,format=pix_fmts=yuva420p,fade=t=in:st=3:d=0.25:alpha=1,fade=t=out:st=6:d=0.25:alpha=1[va1]; \
[2:v]scale=480x320,format=pix_fmts=yuva420p,fade=t=in:st=6:d=0.25:alpha=1[va2]; \
[3:v]scale=480x320,trim=duration=9[over0];\
[over0][va0]overlay[over1]; \
[over1][va1]overlay=format=yuv420[over2]; \
[over2][va2]overlay=format=yuv420[outv]" -c:v libx264 -map [outv] -y -t 9 outcross.mp4

Veja também aqui para uma abordagem diferente.

    
por 09.07.2015 / 15:48
-1

Isso pode ser feito com o filtro framerate: link

    
por 15.11.2016 / 10:48