Você tem dois métodos para tentar:
Defina manualmente os fluxos de saída com -map
Eu geralmente recomendo mapear manualmente seus fluxos em vez de confiar no comportamento de seleção de fluxo padrão para que você não obtenha resultados inesperados, mas isso requer que você:
- Etiquete suas saídas de filtro como você fez com o
[v]
- Use
-map
Exemplo:
ffmpeg \
-loop 1 -t 1 -i 1.jpg \
-loop 1 -t 1 -i 2.jpg \
-loop 1 -t 1 -i 3.jpg \
-loop 1 -t 1 -i 4.jpg \
-loop 1 -t 1 -i 5.jpg \
-i sunlight.mp3 \
-filter_complex \
"[1:v][0:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b1v]; \
[2:v][1:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b2v]; \
[3:v][2:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b3v]; \
[4:v][3:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b4v]; \
[0:v][b1v][1:v][b2v][2:v][b3v][3:v][b4v][4:v]concat=n=9:v=1:a=0,format=yuv420p[v]" -map "[v]" -map 5:a -shortest out.mp4
Os valores do especificador de fluxo que você usa em seu filtergraph e nas suas -map
options dependem da ordem de suas entradas.
Use o comportamento de seleção de fluxo padrão
Como sua saída final contém apenas um fluxo de vídeo e um fluxo de áudio, você pode omitir -map
e o rótulo de saída ( [v]
) e usar apenas o comportamento padrão de seleção de fluxo . Esse pode ser o método mais fácil de usar se você estiver fazendo um script.
ffmpeg \
-loop 1 -t 1 -i 1.jpg \
-loop 1 -t 1 -i 2.jpg \
-loop 1 -t 1 -i 3.jpg \
-loop 1 -t 1 -i 4.jpg \
-loop 1 -t 1 -i 5.jpg \
-i sunlight.mp3 \
-filter_complex \
"[1:v][0:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b1v]; \
[2:v][1:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b2v]; \
[3:v][2:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b3v]; \
[4:v][3:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b4v]; \
[0:v][b1v][1:v][b2v][2:v][b3v][3:v][b4v][4:v]concat=n=9:v=1:a=0,format=yuv420p" -shortest out.mp4