Eu já fiz essa pergunta no Stack-Overflow, mas eles disseram que eu deveria postar aqui, então aqui está:
Procurei durante 2 horas pela documentação, mas não consegui descobrir.
Atualmente, escrevo um script e agora preciso concatriar até 10 vídeos com diferentes proporções / framerates / codecs / size etc.
Atualmente trabalho com o seguinte:
ffmpeg.exe -i part1.mp4 -i part2.mp4 -filter_complex \
"[0:v]pad=width=1280:height=720:color=black[v1]; \
[1:v]scale=1280:720[v2]; \
[v1][0:a][v2][1:a]concat=n=2:v=1:a=1[outv][outa]" \
-map "[outv]" -map "[outa]" -c:v libx264 -preset ultrafast -qp 0 output.mkv
Isso anexa o vídeo, mas não aprimora o primeiro vídeo (que está em 640x480, o segundo vídeo está em 720p). Eu posso colocá-lo em algum lugar com xey, mas não vai crescer para a tela cheia.
E como eu já estou perguntando, aqui está outra pergunta:
ffmpeg.exe -i part1.mp4 -i part3.mp4 -i part2.mp4 -filter_complex \
"movie=part1.mp4, scale=1280:720 [v1] ; \
amovie=part1.mp4 [a1] ; \
movie=part3.mp4, pad=width=1280:height=720:x=160:y=0:color=black, scale=1280:720 [v2] ; \
amovie=part2.mp4 [a2] ; \
movie=part2.mp4, scale=1280:720 [v3] ; \
amovie=part2.mp4 [a3] ; \
[v1] [v3] [v2] concat=n=3 [outv] ; \
[a1] [a3] [a2] concat=n=3:v=0:a=1 [outa]" \
-map "[outv]" -map "[outa]" -c:v libx264 -preset ultrafast -qp 16 output.mp4
Por que eu tenho que escrever concat=n=3:v=0:a=1 [outa]
, mas apenas concat=n=3 [outv]
. Quando eu também escrever concat=n=3 [outa]
, isso resultará em um erro.