J'essaie de concaténer plusieurs vidéos mp4 en une seule en utilisant ffmpeg. Le "comment faire" pour cela est pratiquement identique sur le web :
ffmpeg -f concat -i inputfile.txt -c copy output.mp4
Mais lorsque j'essaie de concaténer mes fichiers, j'obtiens toujours un résultat comme le suivant :
[concat @ 0x1f72560] DTS 3815 < 3812809 out of order
[mp4 @ 0x20ad2e0] Non-monotonous DTS in output stream 0:0; previous: 3812809, current: 3815; changing to 3812810. This may result in incorrect timestamps in the output file.
Le résultat est que j'ai un fichier où l'audio et la vidéo fonctionnent pour le premier segment, mais où seul l'audio fonctionne pour les segments suivants. Occasionnellement, j'obtiendrai une vidéo sans audio.
Certains utilisateurs passent à MP4Box, mais j'ai essayé MP4Box avec les mêmes résultats. Que me manque-t-il ? J'ai vu ce poste qui dit -c copy
est le problème, mais je ne comprends pas vraiment ce qu'il dit à propos du réencodage ou pourquoi c'est nécessaire.
Commandement :
ffmpeg -f concat -i test.txt -c copy test.mp4 &> result.txt
Contenu de test.txt
file '/raw/01 - Introduction.mp4'
file '/raw/02 - Background Material.mp4'
Contenu de result.txt
: http://paste.ubuntu.com/12101801/