mp4
fichiers ne peuvent pas simplement être concaténés, comme le "accepté" réponse suggère.
Si vous exécutez, et rien que cela, vous vous retrouverez avec output.mp4
d'avoir seulement le contenu de file1.mp4
.
Cela dit, ce que vous cherchez à faire dans la question d'origine peut en effet être fait, aussi longtemps que vous le split fichier d'origine dans le flux mpeg correctement.
Les commandes suivantes vont split input.mp4
en 3x 60 seconds segments, dans le fichier[1-3].ts:
avconv -ss 0 -i input.mp4 -t 60 -vcodec libx264 -acodec aac \
-bsf:v h264_mp4toannexb -f mpegts -strict experimental -y file1.ts
avconv -ss 0 -i input.mp4 -t 60 -vcodec libx264 -acodec aac \
-bsf:v h264_mp4toannexb -f mpegts -strict experimental -y file2.ts
avconv -ss 0 -i input.mp4 -t 60 -vcodec libx264 -acodec aac \
-bsf:v h264_mp4toannexb -f mpegts -strict experimental -y file3.ts
Vous pouvez ensuite les remettre ensemble beaucoup plus que les autres de répondre suggère:
avconv -i concat:"file1.ts|file2.ts|file3.ts" -c copy \
-bsf:a aac_adtstoasc -y full.mp4
J'ai utilisé ce processus pour créer une solution évolutive, parallèle transcoder comme décrit au: