web-dev-qa-db-fra.com

Comment fusionner deux fichiers mp4 sans perte de qualité?

J'ai deux fichiers MP4 de haute qualité, qui sont deux parties du même spectacle.

Je veux les fusionner ensemble dans 1 fichier, et j'utilise généralement VirtualDub pour fusionner mes fichiers ... Mais cela ne semble pas supporter mp4.

Quelles alternatives sont disponibles (en particulier celles qui ne nécessitent pas de recodage)?

48
Paolo Bergantino

J'utilise habituellement VirtualDub pour fusionner mes fichiers, mais cela ne semble pas supporter mp4. Alors, quelles sont les alternatives?

Avidemux . C'est comme avec VirtualDub, mais avec plus de formats pris en charge et des codecs et filtres intégrés. Je l'utilise toujours de préférence; il rejoint les fichiers AVC + AAC.MP4 (sans recodage) très bien pour moi.

Pour les rejoindre dans AviDemux:

  1. Fichier -> Ouvrir -> Sélectionner un fichier
  2. Fichier -> Ajouter -> Sélectionner un fichier
  3. Définir tout pour copier
  4. Fichier -> Enregistrer -> Nom de fichier
  5. Attendre..

Selon les forums AViDemux, ce processus de jointure est sans perte ( http://www.avidemux.org/smf/index.php?topic=9467.0 )

38
bobince

Vous pouvez le faire avec ffmpeg:

mkfifo temp0 temp1
ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp0 2> /dev/null & \
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp1 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4

Cela ne ré-encode rien, il les place dans un nouveau conteneur de flux de transport, ce qui les rend plus faciles à concaténer, puis les concatène dans un MP4. Si output.mp4 existe déjà, la commande échouera. La version ci-dessus utilise des canaux nommés, si vous êtes sur un système qui ne prend pas en charge ceux-ci, vous devrez utiliser des fichiers intermédiaires (comme Windows):

ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -bsf:a aac_adtstoasc output.mp4
29
evilsoup

Démultiplexeur

Le démultiplexeur concat a été ajouté à ffmpeg 1.1. Si votre version de ffmpeg est trop ancienne, obtenez le dernier binaire statique à partir d'ici: http://www.ffmpeg.org/download.html

Instructions

Créez un fichier mylist.txt avec tous les fichiers à concaténer sous la forme suivante (les lignes commençant par un tiret sont ignorées):

# this is a comment
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

Notez qu'il peut s'agir de chemins relatifs ou absolus. Ensuite, vous pouvez encoder vos fichiers avec:

ffmpeg -f concat -i mylist.txt -c copy output

Il est possible de générer ce fichier de liste avec une boucle bash ou en utilisant printf. L’un des éléments suivants génère un fichier liste contenant tous les * .wav du répertoire de travail:

for f in ./*.wav; do echo "file '$f'" >> mylist.txt; done
printf "file '%s'\n" ./*.wav > mylist.txt

Source: ffmpeg wiki

14
erik

YAMB avec MP4BOX est une bonne option.
Téléchargez les deux et décompressez-les (aucune installation requise et, ensemble, ils représentent environ 5 Mo). Dans YAMB, choisissez Paramètres et définissez le chemin du dossier de MP4box.
Pour joindre des fichiers mp4, choisissez Édition> Cliquez pour rejoindre les fichiers pris en charge ...

8
Eran

SUPER ©(codeur et rendu simplifié Universal Player) fournit le processus de sortie supplémentaire suivant:

Tout fichier multimédia pris en charge peut être traité:

      o Join Format-Identical Files.
      o Mux Video & Audio Streams.
      o DeMux Extract Streams. 

bien entendu, MP4 est un format pris en charge.

_ {SUPER © est un freeware.

6
Molly7244

Essayez d’utiliser le conteneur vidéo Matroska.

Tout d’abord, vous avez besoin de mkvtoolnix . Téléchargez-le et installez-le. Vous devez ensuite lancer l'interface graphique de mkvmerge (à moins que vous n'aimiez les outils de ligne de commande, ce qui me convient, même si vous souhaiterez peut-être consulter la section de liaison de fichiers de la documentation de mkvmerge ).

Ajoutez votre premier fichier en cliquant sur "ajouter". Ensuite, cliquez sur "ajouter" et ouvrez votre deuxième fichier. Définissez le fichier de sortie, cliquez sur "Démarrer le multiplexage" en bas, et c'est parti!

Si le conteneur ne convient pas à vos besoins, vous pouvez le réencoder ou essayer de le convertir en un autre format ... Bien que MKV soit un très joli conteneur!

5
Breakthrough

Si vous pouvez les lire sur votre système/si un codec est installé, Windows Movie Maker est peut-être le moyen le plus rapide (et gratuit) de joindre les deux fichiers. Vous pouvez ensuite utiliser Virtualdub pour convertir en un format différent.

1
William Hilsum

Une autre solution est Open Video Joiner . Il fait aussi des effets de transition.

enter image description here

1
harrymc