Beitritt zu H264 * ohne * Neukodierung

39

Ich habe zwei Hälften einer einzelnen Show in zwei MP4-Dateien, die in H264 codiert sind. Ich möchte mich ihnen anschließen, ohne sie neu zu kodieren.

Ist das möglich?

Ich habe es geschafft, mit Quicktime Pro ein zusammengefügtes Video als Quicktime-Datei (.mov) zu erstellen, aber dann konvertiert Quicktime Pro es nicht wieder in .MP4, ohne es neu zu codieren. Dies kann daran liegen, dass die beiden H264-Videos in der .mov-Datei noch als einzelne "Objekte" getrennt sind.

Ich habe auch Probleme mit MPEG StreamClip, ohne eine echte Lösung zu finden. Aber ich habe vielleicht etwas verpasst.

Beachten Sie, dass ich nicht dasselbe Problem mit MPEG2-Dateien habe. Ich kann sie beispielsweise in einen .MPEG-Container oder eine .TS-Datei exportieren und sie dann verbinden, ohne sie mit MPEG Streamclip neu zu codieren.

Jeder Vorschlag ist willkommen, vorzugsweise unter Verwendung von Mac-Software.

jdmuys
quelle
1
Natürlich müssen die Videos die gleichen Aspekte aufweisen, um ohne Neucodierung verbunden zu werden (gleiche Größe, Bitrate usw.). Sie sollten in der Lage sein, dies in VirtualDubMOD zu tun: Öffnen Sie MP4 und fügen Sie dann Segment an .
Synetech

Antworten:

41
ffmpeg -i q.mp4 -c copy -bsf h264_mp4toannexb q.ts

ffmpeg -i r.mp4 -c copy -bsf h264_mp4toannexb r.ts

ffmpeg -i "concat:q.ts|r.ts" -c copy -bsf aac_adtstoasc qr.mp4

Wie man eine flv-Datei zu einer verkettet

Steven Penny
quelle
Was ist, wenn es M4V (nicht-h264 mp4) ist, welches BSF sollte verwendet werden?
Edison
2
Ich habe -bsf aac_adtstoascfür das Concat-Kommando aufgehört
Csaba Toth
Ich musste alle -bsfArgumente weglassen, dann funktionierte es für mich.
KittMedia
Dabei habe ich unter MacOS 10.13.3 alles weggelassen, -bsf xxxwas gute Ergebnisse gebracht hat. Beim zweiten Versuch war jedoch die zweite Hälfte des kombinierten Films beschädigt. Es stellte sich heraus, dass Handbrake die beiden Hälften aus unbekannten Gründen unterschiedlich breit codiert hatte (640 vs. 636). Ich hatte in beiden Fällen das gleiche Preset verwendet. Wie auch immer, ich bin zurückgegangen und habe in der ersten Hälfte wieder die Handbremse benutzt, die jetzt der zweiten Hälfte entspricht. Der neu kombinierte Film war okay. Tipp: exiftool zeigt alles über eine mp4 / m4v-Datei an.
Jamie Cox
15

MP4Box erledigt das für Sie:

MP4Box -cat File01.m4v -cat File02.m4v File-joined.m4v

MP4Box ist plattformübergreifend und funktioniert unter OSX. Ich habe dies jedoch unter Ubuntu Linux mit H264-Videos versucht, die von Handbrake für das iPhone 4S erstellt wurden.

Dies funktioniert recht schnell, da die Dateien nicht neu codiert werden.

thinkOfaNumber
quelle
1
Funktioniert super. Verwenden Sie sudo apt-get install gpaces zu installieren. Sie können diese Befehlszeile verwenden, wenn Sie viele Dateien zum Verknüpfen haben:MP4Box $(for file in single*m4v; do echo -cat $file; done) joined.m4v
guettli
2

Der Quicktime MP4 Codec hat einen "Pass Through" Modus.

Hier finden Sie ein detailliertes Rezept zum Verbinden von zwei MP4 H264-Videos mit Quicktime. Beachten Sie, dass Quicktime X noch nicht weit genug fortgeschritten ist. Verwenden Sie daher Quicktime 7 (eine optionale Installation mit Snow Leopard):

  1. Öffnen Sie die beiden H264-Videos in Quicktime 7. Nehmen wir an, sie heißen video1.mp4 und video2.mp4.
  2. Wenn Sie an video1.mp4 arbeiten, wählen Sie Alle und dann Kopieren.
  3. Wechseln Sie zu video2.mp4, stellen Sie sicher, dass sich der "Cursor" am Anfang des Videos befindet, und fügen Sie ihn ein. Dies fügt den Inhalt von video1.mp4 vor video2.mp4 ein.
  4. Dieser Schritt ist wahrscheinlich optional . "Speichern unter" die geänderte video2.mp4. Sie können nur im MOV-Format speichern. Ich habe als eigenständigen Film gespeichert, aber ich nehme an, dass ein Referenzfilm auch funktionieren würde. Ich habe den Dateinamen "video.mov" verwendet.
  5. Wählen Sie im Dateimenü "Exportieren", um video.mov in die verknüpfte H264-Datei zu exportieren. Der "Export" zur Auswahl ist "Movie to MPEG-4". Die Voreinstellung ist nicht wichtig, ich habe "LAN / Intranet" gewählt. Das Preset ist nicht wichtig, da wir es im nächsten Schritt überschreiben.
  6. Klicken Sie auf "Optionen", um zum Einstellungsdialog zu gelangen. Im Videobereich ist "Videoformat" als "H.264" ausgewählt. Klicken Sie auf das Menü, wählen Sie "Pass Through". Wie erwartet werden alle anderen Optionen deaktiviert.
  7. Klicken Sie auf OK und dann auf Speichern, und beobachten Sie, wie Ihre verknüpfte Datei mit der Geschwindigkeit Ihrer Festplatte gespeichert wird.

Alternativ können Sie SimpleMovieX verwenden , einen Shareware-Video-Editor, der genau dies als Feature bewirbt.

jdmuys
quelle
1
Ich gehe davon aus, dass das Speichern in mov leider eine neue Codierung erfordert.
Csaba Toth
0

Ich denke, dies sollte möglich sein, obwohl die beiden Teile möglicherweise auf "gleiche" Weise (Auflösung usw.) sein müssen, damit der Join funktioniert. Das klingt so, als ob es in Ihrer Situation wahrscheinlich der Fall sein wird.

Sie könnten dieses Tool ausprobieren: http://www.smlabs.net/tsmuxer_en.html ... Ich habe es nicht verwendet, aber es listet speziell das Verknüpfen von Dateien als Teil seines Funktionsumfangs auf, und H.264 ist eine der unterstützten Codierungen.

Zac Thompson
quelle
Danke für den Link. Ich konnte es nicht versuchen, da die Site sagt, dass dieses Programm Snow Leopard nicht unterstützt. Außerdem habe ich nur mit Quicktime eine funktionierende Lösung gefunden (siehe meine Antwort). Auch wenn ich in diesem Fall nicht weiß, werben einige Tools für das Zusammenfügen von Videodateien, tun dies jedoch mit vollständiger Neucodierung, was bestenfalls irreführend ist.
JDMUYS
Entschuldigen Sie; Ich habe dieses Stück auf der Website falsch gelesen. Ich bin froh, dass Sie einen einfacheren Ansatz gefunden haben - es schien merkwürdig, dass dafür ein spezielles Tool erforderlich sein würde.
Zac Thompson
0

Verwenden Sie mkvtoolnix . Öffnen Sie dann "mkvtoolnix-gui.exe" (in Windows 8.1 64 Bit befindet es sich unter: C: \ Programme \ MKVToolNix \ mkvtoolnix-gui.exe). Fügen Sie die erste Datei hinzu. Wählen Sie dann diese erste Datei aus, klicken Sie mit der rechten Maustaste auf "Dateien anhängen" und wählen Sie die Dateien aus, die Sie zusammenführen möchten. Ändern Sie möglicherweise den Zielordner und den Dateinamen. Klicken Sie anschließend auf "Multiplexing starten".

Erb
quelle