Wie kann ich zwei MP4-Dateien zusammenführen, ohne an Qualität zu verlieren?

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

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

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

Author: Breakthrough, 2009-09-18

8 answers

Normalerweise verwende ich VirtualDub, um meine Dateien zusammenzuführen, 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 integrierten Codecs und Filtern. Ich benutze es immer bevorzugt; Es verbindet AVC+AAC. MP4-Dateien (ohne Neukodierung) gut für mich.

Um sie in AviDemux zu verbinden:

  1. Datei - > Öffnen - > Datei auswählen
  2. Datei - > Anhängen - > Datei auswählen
  3. Setze alles auf Kopie
  4. Datei - > Speichern - > Dateiname
  5. Warten..

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

 44
Author: bobince,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-03-26 11:24:13

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 codiert nichts neu, es platziert sie in einem neuen Transportstromcontainer, wodurch sie einfacher zu verketten sind, und verkettet sie dann wieder in einen MP4. Wenn output.mp4 bereits vorhanden ist, 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
 30
Author: evilsoup,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-10-02 12:46:03

Concat demuxer

Der concat Demuxer wurde zu ffmpeg 1.1 hinzugefügt. Wenn Ihre Version von ffmpeg zu alt ist, Holen Sie sich 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-Schleife oder mit printf zu generieren. Entweder würde einer der folgenden eine Listendatei erzeugen, die jedes *enthält.wav im Arbeitsverzeichnis:

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

Quelle: ffmpeg-wiki

 17
Author: erik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

YAMB zusammen mit MP4BOX ist eine gute option.
Laden Sie beide herunter und entpacken Sie sie (keine Installation erforderlich und zusammen sind sie ungefähr 5 MB), wählen Sie in YAMB Einstellungen und legen Sie den Ordnerpfad von MP4Box fest.
Um MP4-Dateien beizutreten, wählen Sie Bearbeiten > Klicken Sie auf Unterstützt beitreten...

 8
Author: Eran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-09-19 14:15:22

Versuchen Sie es mit dem Matroska Video Container.

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 Befehlszeilentools, was für mich in Ordnung ist - obwohl Sie sich vielleicht den Abschnitt zum Verknüpfen von Dateien ansehen möchten von die mkvmerge-Dokumentation ).

Fügen Sie Ihre erste Datei hinzu, indem Sie auf "Hinzufügen"klicken. Klicken Sie dann auf "Anhängen" und öffnen Sie Ihre zweite Datei. Legen Sie die Ausgabedatei, drücken Sie "Start muxing" an der Unterseite, und weg du gehst!

geben Sie hier die Bildbeschreibung ein

Wenn der Container für Ihre Anforderungen nicht geeignet ist, können Sie ihn erneut codieren oder versuchen, ihn in ein anderes Format zu konvertieren... Obwohl MKV ein sehr schöner Container ist!

 7
Author: Breakthrough,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-04-19 18:45:13

SUPER © (Vereinfachter Universal Player Encoder & Renderer) bietet den folgenden zusätzlichen Ausgabeprozess:

Jede unterstützte Multimedia-Eingabedatei kann verarbeitet werden:

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

Natürlich ist MP4 ein unterstütztes Format.

SUPER © ist Freeware.

 6
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-02-18 02:35:13

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

 1
Author: William Hilsum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-09-18 23:03:17

Eine andere Lösung ist Open Video Joiner. Es hat auch Übergangseffekte.

geben Sie hier die Bildbeschreibung ein

 1
Author: harrymc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-08-17 05:55:21