2009-09-18 22:20:24 +0000 2009-09-18 22:20:24 +0000
51
51

Wie kann ich zwei mp4-Dateien ohne Qualitätsverlust zusammenführen?

Ich habe zwei hochwertige mp4-Dateien, die aus zwei Teilen derselben Show bestehen.

Ich möchte sie zu einer Datei zusammenführen, und ich verwende normalerweise VirtualDub, um meine Dateien zusammenzuführen… Aber es scheint mp4 nicht zu unterstützen.

Welche Alternativen sind verfügbar (insbesondere solche, die keine Neukodierung erfordern)?

Antworten (7)

41
41
41
2009-09-19 12:05:18 +0000

Normalerweise verwende ich VirtualDub zum Zusammenführen meiner Dateien, aber es scheint mp4 nicht zu unterstützen. Welche Alternativen gibt es also? Avidemux . Es ist genau wie VirtualDub, nur mit mehr unterstützten Formaten und eingebauten Codecs und Filtern. Ich benutze es immer bevorzugt; es fügt AVC+AAC.MP4-Dateien (ohne Umkodierung) gut für mich zusammen.

Um sie in AviDemux zusammenzuführen:

  1. Datei -> Öffnen -> Datei auswählen 2. Datei -> Anhängen -> Datei auswählen 3. Alles auf Kopieren setzen 4. Datei -> Speichern -> Dateiname
  2. Warten Sie…

Laut AViDemux-Foren ist dieser Verbindungsvorgang verlustfrei http://www.avidemux.org/smf/index.php?topic=9467.0 )

29
29
29
2012-12-21 16:39:48 +0000

Sie können dies mit ffmpeg tun:

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

Dies kodiert nichts neu, sondern stellt sie in einen neuen Transportstrombehälter, wodurch sie einfacher zu verknüpfen sind, und verkettet sie dann wieder zu einem MP4. Wenn output.mp4 bereits existiert, schlägt der Befehl fehl. Die obige Version verwendet Named Pipes. Wenn Sie sich auf einem System befinden, das diese nicht unterstützt, müssen Sie Zwischendateien (wie Windows) verwenden:

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
15
15
15
2014-03-02 01:54:46 +0000

Concat demuxer

Der concat demuxer wurde zu ffmpeg 1.1 hinzugefügt. Wenn Ihre Version von ffmpeg zu alt ist, holen Sie die neueste statische Binärdatei von hier: http://www.ffmpeg.org/download.html

Anweisungen

Erstellen Sie eine Datei mylist.txt mit allen Dateien, die Sie verkettet haben möchten, in der folgenden Form (Zeilen, die mit einem Bindestrich beginnen, werden ignoriert):

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

Beachten Sie, dass dies entweder relative oder absolute Pfade sein können. Dann können Sie Ihre Dateien kodieren mit:

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

Es ist möglich, diese Listendatei mit einer bash for loop oder mit printf zu erzeugen. Jede der beiden folgenden Möglichkeiten würde eine Listendatei erzeugen, die alle *.wav im Arbeitsverzeichnis enthält:

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

Quelle: ffmpeg wiki

8
8
8
2009-09-18 23:09:39 +0000

YAMB zusammen mit MP4BOX ist eine gute Option. Laden Sie beide herunter und entpacken Sie sie (keine Installation erforderlich und zusammen sind sie etwa 5MB groß), wählen Sie im YAMB Einstellungen und legen Sie den Ordnerpfad der MP4box fest. Um mp4-Dateien zu verbinden, wählen Sie Bearbeiten > Click to Join unterstützt…

5
5
5
2009-09-19 11:08:12 +0000

Versuchen Sie, den Matroska-Videocontainer zu verwenden.

Zunächst benötigen Sie mkvtoolnix . Laden Sie es herunter und installieren Sie es, dann müssen Sie die mkvmerge-GUI starten (es sei denn, Sie mögen Kommandozeilen-Tools, was für mich in Ordnung ist - obwohl Sie sich vielleicht den Abschnitt über die Dateiverknüpfung von der mkvmerge-Dokumentation ansehen möchten).

Fügen Sie Ihre erste Datei hinzu, indem Sie auf “Hinzufügen” klicken. Klicken Sie dann auf “append”, und öffnen Sie Ihre zweite Datei. Legen Sie die Ausgabedatei fest, klicken Sie unten auf “Start muxing”, und los geht’s!

Wenn der Container für Ihre Bedürfnisse ungeeignet ist, können Sie ihn neu kodieren oder versuchen, ihn in ein anderes Format zu konvertieren… Obwohl MKV ein sehr schöner Container ist!

1
1
1
2009-09-18 22:24:57 +0000

Wenn Sie sie auf Ihrem System abspielen können / einen Codec installiert haben, ist Windows Movie Maker möglicherweise der schnellste (und kostenlose) Weg, um die beiden Dateien zu verbinden. Sie können dann Virtualdub verwenden, um in ein anderes Format zu konvertieren.

1
1
1
2009-09-19 11:46:02 +0000

Eine andere Lösung ist Open Video Joiner . Sie führt auch Übergangseffekte aus.