Mehrere Videospuren superschnell und einfach mit ffmpeg zusammenfügen
Heute wollte ich zwei Videospuren für meine Tomb Raider 1 Remastered Gameplays zusammenführen . Ich hatte diese zwei getrennten Videos, weil ich zwei Teile desselben Levels aufgenommen hatte, da ich nicht die Möglichkeit hatte, ihn in einer einzigen Sitzung zu beenden.
Ich bin schon öfters auf dieses Bedürfnis gestoßen, habe mich aber noch nie näher damit befasst.
Nach einer kurzen Suche entdeckte ich die allmächtige Lösung: diese Operation kann wahnsinnig schnell und super einfach mit ffmpeg concatenate durchgeführt werden.
Wichtig: Mit dieser Methode kann man ein Video nach dem anderen zusammenfügen, ohne es zu bearbeiten. Wenn Sie Übergänge hinzufügen oder andere Dinge tun möchten, benötigen Sie Videobearbeitungsprogramme wie Openshot, Premiere, Vegas oder ähnliche.
Inhaltsübersicht
Zusammenführen von Videos mit exakt denselben Codecs
In den meisten Fällen haben Sie Videos, die auf die gleiche Weise aufgenommen wurden , und müssen nur eine Spur nach der anderen anzeigen lassen.
Hierfür können Sie diese einfache Anleitung befolgen:
- Erstellen Sie auf Ihrem PC einen Ordner mit allen Spuren, die Sie zusammenführen möchten.
- Benennen Sie die Spuren in etwas Einfacheresum , wie "part1.mp4", "part2.mp4" und so weiter
- Erstellen Sie eine Textdatei in diesem Ordner und nennen Sie sie "list.txt" oder ähnlich
- Schreiben Sie in die Textdatei den Pfad zu jeder Datei in separate Zeilen , wie im folgenden Beispielcode
- Führen Sie den Befehl ffmpeg in Ihrem Terminal aus, um die Videos zusammenzuführen, siehe den folgenden Codeausschnitt
Die Textdatei mit der Liste kann ähnlich wie die folgende aussehen:
# list.txt # Siehe: https://trac.ffmpeg.org/wiki/Concatenate#samecodec Datei 'part1.mkv' Datei 'part2.mkv'
Die ersten beiden Zeilen sind "Kommentare" und werden von ffmpeg nicht verwendet, Sie können sie entfernen, wenn Sie möchten. Natürlich könnten Sie in Ihrem Fall andere Dateitypen wie mp4, wav, mov oder andere haben. Dies ist nur ein Beispiel.
Der ffmpeg-Befehl , den Sie in Ihrem Terminal ausführen, kann an Ihre Bedürfnisse angepasst werden, hier ist ein Beispiel:
ffmpeg -f concat -safe 0 -i list.txt -c copy merged_video.mkv
Dadurch wird eine Datei "merged_video.mkv" in Ihrem Ordner erstellt. Sie können auch andere Dateitypen wie mp4, mov, wav und andere verwenden. Außerdem können Sie absolute Pfade sowohl in der Datei list.txt als auch im Befehl ffmpeg verwenden. Das Attribut "-safe 0" kann weggelassen werden , wenn Sie relative Pfade verwenden.
Wenn Sie möchten, können Sie den obigen ffmpeg-Befehl in einer run.bat-Datei speichern und ihn so ausführen, anstatt den Befehl jedes Mal in das Terminal zu kopieren.
Zusammenführen von Videos mit verschiedenen Codecs
Dieser Vorgang ist sicherlich komplizierter und kann häufiger schief gehen, daher lade ich Sie ein, auch die ffmpeg-Dokumentation zu diesem Thema zu lesen.
Kurz gesagt, wir müssen einen Befehl ähnlich dem folgenden ausführen , je nach unseren Bedürfnissen:
ffmpeg -i input1.mp4 -i input2.webm -i input3.mov \ -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0]concat=n=3:v=1:a=1[outv][outa]" \ -map "[outv]" -map "[outa]" output.mkv
In diesem Fall gehen wir davon aus, dass wir drei verschiedene Dateitypen als Eingabe haben: mp4, webm und mov. WebM ist normalerweise die komprimierte Version einer Videodatei, während MOV normalerweise von Apple-Geräten stammt.
Der Parameter "filter_complex" teilt ffmpeg mit, welche Streams von den Eingabedateien genommen und als Eingabe an den Concat-Filter gesendet werden sollen.
Die "map"-Parameter schließlich weisen ffmpeg an, die Ergebnisse des Concat-Filters zu verwenden und nicht die Streams direkt aus der Eingabedatei.
Schlussfolgerungen
In meinem Fall habe ich einen 1-stündigen Track mit einem anderen 23-minütigen Track zusammengefügt. Das Gewicht beider Dateien betrug 4,77 GB. Die resultierende Ausgabedatei hatte die gleiche Länge und das gleiche Gewicht , und es dauerte nur zwei Minuten , um den Vorgang abzuschließen.
Es war überraschend einfach und schnell , und es wird mir in Zukunft sicher sehr helfen. Wenn dies auch für Sie nützlich war, folgen Sie mir bitte auf Facebook und Twitch, und abonnieren Sie meinen Youtube-Kanal. Teilen Sie auch einen Kommentar unten!