Comment fusionner deux fichiers mp4 sans perte de qualité?

51

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

Je souhaite les fusionner en un seul fichier et j'utilise généralement VirtualDub pour fusionner mes fichiers ... Mais cela ne semble pas prendre en charge le format mp4.

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

Paolo Bergantino
la source

Réponses:

41

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

Avidemux . Cela ressemble à VirtualDub, mais avec davantage 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. Attendez..

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

bosse
la source
Ouais, il semble excellent de garder l'audio en synchronisation avec la vidéo alors que les réponses des autres personnes à cette question sont discutables sur cet IMHO.
djangofan
1
J'ai essayé d'utiliser Avidemux pour joindre deux fichiers ensemble, mais l'audio est devenu désynchronisé.
GiddyUpHorsey
Vous pouvez avoir des problèmes de synchronisation lorsque la quantité de matériel audio disponible ne correspond pas à la longueur des images vidéo ou en cas de corruption du flux. Vous pourrez peut-être résoudre ce problème avec les fonctionnalités de «correction de flux» de VideoRedo ou ProjectX.
Bobince
1
Mais cette méthode a fonctionné: superuser.com/a/255566/1780 Hourra!
Christopher Galpin
4
Si vous utilisez AviDemux pour joindre deux fichiers Mp4, n'oubliez pas de sélectionner l'option Mp4 Demux dans le coin inférieur gauche. Sinon, il peut essayer de le convertir en avi!
28

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
maux de tête
la source
quelqu'un peut-il expliquer comment cela est fait avec avconvau lieu de ffmpeg? J'ai pu terminer les deux premières étapes, mais la dernière ne reconnaît pas l'option-absf
becko
@becko Voir mon édition. Vous devez maintenant utiliser un spécificateur de flux (voir ici libav.org/avconv.html#Advanced-options ).
Slhck
2
+1 juste pour référence future, vous pouvez remplacer avconvpar ffmpegles commandes ci-dessus et cela fonctionnera.
rendez-vous
15

Démultiplexeur

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

Instructions

Créez un fichier mylist.txtavec tous les fichiers que vous souhaitez 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 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: wiki de ffmpeg

erik
la source
8

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 ...

Eran
la source
1
Cela semble être la meilleure solution, conserver le format de conteneur .mp4, qui semble l'option la plus attrayante pour l'auteur ^^
Oskar Duveborn, le
1
Après difficulté, j'ai utilisé cette configuration: MP4Box_path = E: \ Logiciel \ Édition vidéo \ Yamb-2.1.0.0_beta2 \ MP4Box \ MP4Box.exe dans le but de fusionner 4 fichiers MP4 de 500 Mo générés à partir d'AVIDemux. Ça n'a pas marché. Le programme est resté assis pendant 45 minutes sans rien faire jusqu'à ce que j'ai finalement abandonné.
djangofan
1
J'ai eu du mal à utiliser cette méthode à cause de problèmes de synchronisation audio. c'était un cauchemar ... ne plus essayer.
djangofan
6

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 logiciel gratuit.


la source
5
Son interface utilisateur est la plus horrible de ma vie. Je ne plaisante pas, c'est horrible. Je le souligne encore une fois: je ne peux pas nommer une interface pire, je suis sérieux à ce sujet, je n'ai jamais rien vu en dessous du "seuil SUPER".
Camilo Martin
5

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 parfaitement, même si vous souhaiterez peut-être consulter la section relative aux liens de fichier 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 recoder ou essayer de le convertir en un autre format ... Bien que MKV soit un conteneur très charmant!

Percée
la source
il doit être mélangé? je ne peux pas être rejoint sans muxing?
djangofan
Eh bien, si vous utilisez un conteneur MKV, techniquement , vous êtes remultiplexer il. Essayez, il n'y a pas de pénalité en temps réel ...
Breakthrough
1

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.

William Hilsum
la source
Audacity semble être pour les fichiers audio. Ceci est un fichier vidéo.
Paolo Bergantino
Donc, désolé, j'ai mal lu, je viens de voir le député en partie et mon cerveau si audacieux.
William Hilsum
Modification de la réponse ...
William Hilsum Le
À ma connaissance, Movie Maker ne prend pas en charge le format mp4 et la conversion en un format différent entraîne une perte de qualité que la question spécifie comme indésirable.
Eran
J'ai essayé MovieMaker sur Windows7 et l'audio est désynchronisé lorsque vous joignez des fichiers MP4 à un WMV. Cette option ne fonctionnera pas.
djangofan
1

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

entrez la description de l'image ici

harrymc
la source
C'est un shareware cependant. et pour 30 $, la fusion de fichiers vidéo n'est pas une
mince affaire
On disait que c'était du freeware. Désolé si j'ai été induit en erreur.
harrymc