Junte-se a vários arquivos de vídeo. Dois sem áudio e três com áudio


1

Estou tentando entrar em 5 vídeos. 2 deles não têm fluxos de áudio.

Eu recebo este erro:

Stream specifier ':1' in filtergraph description [0:0] [0:1] [1:0] [1:1] [2:0] [2:1] 
[3:0] [3:1] [4:0] [4:1] concat=n=5:v=1:a=1 [v] [a] matches no streams.

Eu uso esses argumentos

ffmpeg -y  -i "C:\Users\alex\AppData\Local\Temp\tmp83A2.tmp.avi"  -i "C:\Users\alex\AppDat\Local
\Temp\tmp83C2.tmp.avi" -i "C:\Users\alex\AppData\Local\Temp\tmp83F2.tmp.avi"  -i "C:\Users
\alex\AppData\Local\Temp\tmp8412.tmp.avi" -i "C:\Users\alex\AppData\Local\Temp\tmp8442.tmp.avi"  -filter_complex "[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] [3:0] [3:1]` [4:0] [4:1] concat=n=5:v=1:a=1 [v] [a]" -map "[v]" -map "[a]"  "C:\Users\alex\Documents`
\output.avi" 

Obrigado !

Respostas:


4

O especificador de fluxo :1refere-se ao fluxo de áudio que você não possui em todos os arquivos. Por isso, dá um erro. Você deve usar o áudio em branco / silencioso para poder concatenar.

Veja esta publicação recente que trata de como fazer mux no áudio silencioso antes de concatenar.

ffmpeg -y  -i <inputfile1>  -i <inputfile2> -i <inputfile3> -i <inputfile4> -i <inputfile5> -filter_complex "[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] [3:0] [3:1] [4:0] [4:1] concat=n=5:v=1:a=1 [v] [a]" -map "[v]" -map "[a]"  <encoding_parameters_here> <outputfile>

Isso deve funcionar, mas você deve usar alguns parâmetros de codificação se os codecs dos vários arquivos de entrada variarem. Se estiver usando aacpara áudio, use também -strict -2.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.