Oftmals entstehen mit dem Mobiltelefon oder der Videokamera kurze Clips. Will man diese zusammenfügen, so gibt es dafür mehrere grafische Anwendungen. Viele dieser Anwendungen codieren die Videos neu. Mit dem Kommandozeilenwerkzeug ffmpeg kann man Videos auch ohne Neucodierung verbinden.
Inhaltsverzeichnis
Grundlagen
Eine Datei videos.txt mit den Dateinamen der Videos in diesem Format erstellen:
file video_1.mp4
file video_2.mp4
Dann diesen Befehl verwenden:
ffmpeg -f concat -i videos.txt -c copy output.mp4
Wenn die Dateinamen Leerzeichen enthalten, muss die Datei videos.txt das folgende Format haben:
file video_1.mp4
file 'video 2.mp4'
Dann diesen Befehl verwenden:
ffmpeg -f concat -safe 0 -i videos.txt -c copy output.mp4
Ohne die Option -safe 0 bemängelt ffmpeg Dateien mit Leerzeichen in Dateinamen, obwohl diese in Hochkommata eingeschlossen sind, mit der Meldung:
Unsafe file name ‚video 2.mp4‘
Das funktioniert auch für andere Video-Formate, wie etwa MOV.
Voraussetzung: Die Dateien müssen die gleichen Streams (Codecs, Zeitbasis usw.) verwenden. Die Ausrichtung des Videos (hoch oder quer) wird von der ersten Datei übernommen.
Beispiel mit MOV-Dateien (Dateinamen enthalten Leerzeichen)
Datei videos.txt erstellen
ls -1 *.MOV | sort | sed -e 's/^/file \x27/' | sed -e 's/$/\x27/' >videos.txt
Im sed-Skript muss das Zeichen ‚ (Hochkomma) codiert, hier Hexadezimal, angegeben werden.
Die Datei kann auch mit einer FOR-Schleife der Bash erstellt werden.
for f in *.MOV; do echo "file '$f'" >> videos.txt; done
Die Datei videos.txt hat danach folgenden Inhalt:
file 'DSCN3031.MOV'
file 'DSCN3034.MOV'
file 'DSC N3035.MOV'
file 'DSCN3036.MOV'
file 'DSCN3038.MOV'
Videos verbinden
ffmpeg -f concat -safe 0 -i videos.txt -c copy output.MOV
Dateidatum und Uhrzeit korrigieren
Damit die Videosammlung weiterhin chronologisch angezeigt werden kann, das Dateidatum und die Uhrzeit auf die Zeit des letzten Videos setzen.
touch -d "2023-04-09 14:03" output.MOV
3 Reaktionen
Für Freunde der grafischen Möglichkeit gehts auch mit Avidemux
Hallo linuxopa,
habe mit Avidemux keine guten Erfahrungen gemacht und jetzt noch einmal getestet.
3 Clips, die mit dem Handy aufgenommen wurden (H.264 30 FPS), zusammengefüht. Die Vorschau ist OK.
Beim zusammengefügten Video stockt die Ausgabe nach Clip 1, wird dann grau und erst mit Clip 3 fortgeführt. Das passiert bei der Ausgabe als MKV und MP4. Anderes habe ich nicht getestet.
Beim Zusammenfügen mit ffmpeg ist alles OK.
Die zusammengefügten Videos haben die gleiche Größe und die gleichen Eigenschaften.
Viele Grüße Willi.
Werd mir dein Beitrag vormerken falls Avidemux mal klemmt.