So trimmen und schneiden Sie Videos mit FFmpeg unter Linux

FFmpeg ist ein leistungsstarker Befehlszeilen-Multimedia-Editor für Linux. Sie können damit Audio aufnehmen und bearbeiten, Screencasts erstellen und sogar Videodateien mit hoher Bitrate bearbeiten und kodieren. Hier zeigen wir Ihnen, wie Sie Ihre Videodateien mit FFmpeg schnell zuschneiden und grundlegende Schnitte durchführen können.

Tipp: Erfahren Sie mehr über Video-Codecs und Bitrate, indem Sie die Größe Ihrer Videodatei mit FFmpeg optimieren.

Anfang und Ende einer Videodatei zuschneiden

Eine der leistungsstärksten Funktionen von FFmpeg ist die Möglichkeit, Segmente aus Audio- und Videodateien schnell zuzuschneiden. Dadurch können Sie unnötige Teile aus Ihrem Video entfernen und es sogar mit Shell-Skripten automatisieren.

Bevor Sie mit dem Zuschneiden beginnen, stellen Sie sicher, dass Sie eine Sicherungskopie Ihrer Originalvideodatei haben. Dies liegt daran, dass FFmpeg im Gegensatz zu grafischen Editoren für keine seiner Funktionen eine Rückgängig-Funktion bietet:

cp ~/my-video.mp4 ~/my-video-backup.mp4

Führen Sie den folgenden Befehl aus, um die ersten 30 Sekunden einer 5-minütigen Videodatei zu kürzen:

[enlazatom_show_links]
ffmpeg -ss 00:00:30 -to 00:05:00 -i my-video.mp4 -c copy my-video-trim.mp4

Sie können diese Syntax auch so übersetzen, dass das Trimmen am Ende statt am Anfang Ihrer Videodatei erfolgt. Wenn Sie dieselbe Videodatei verwenden und Folgendes ausführen, werden stattdessen die letzten 30 Sekunden entfernt:

ffmpeg -ss 00:00:00 -to 00:04:30 -i my-video.mp4 -c copy my-video-trim.mp4

Darüber hinaus unterstützt diese Syntax auch das Zuschneiden an beiden Enden des Videos. Das Entfernen der ersten und letzten 30 Sekunden eines 5-minütigen Videos sieht beispielsweise etwa so aus:

ffmpeg -ss 00:00:30 -to 00:04:30 -i my-video.mp4 -c copy my-video-trim.mp4

Überprüfen Sie anschließend, ob FFmpeg Ihr Video richtig zugeschnitten hat, indem Sie es mit Ihrer Originaldatei vergleichen.

Tipp: Hier ist eine Liste der nützlichsten FFmpeg-Befehle für die Verwaltung Ihres Videos.

Schneiden eines kurzen Segments innerhalb einer Videodatei

FFmpeg kann auch selektiv Segmente innerhalb einer Videodatei ausschneiden. Bei grafischen Editoren müssen Sie dazu normalerweise zwei separate Schnitte erstellen und diese manuell in der Video-Timeline zusammenfügen.

Erstellen Sie zunächst eine Sicherungskopie Ihrer Originalvideodatei:

cp ~/my-video.mp4 ~/my-video-backup.mp4

Öffnen Sie Ihr Video auf einem Mediaplayer und ermitteln Sie die genauen Zeitstempel für Ihre Schnittpunkte. In meinem Fall möchte ich eine Videodatei erstellen, die nur das Filmmaterial von 2:30 bis 4:00 und 7:45 bis 8:30 des Originals verwendet.

Wandeln Sie Ihre Zeitstempel von Minuten in Sekunden um:

echo „00:02:30“ |  awk -F: '{ print ($1 * 3600) + ($2 * 60) + $3 }'

Navigieren Sie zum Verzeichnis Ihrer Videodatei und fügen Sie dann den folgenden Befehl ein:

ffmpeg -i my-video.mp4  -vf "select="between(t,FIRST-START-VALUE,FIRST-END-VALUE)+between(t,SECOND-START-VALUE,SECOND-END-VALUE)", setpts=N/FRAME_RATE/TB"  -af "aselect="between(t,FIRST-START-VALUE,FIRST-END-VALUE)+between(t,SECOND-START-VALUE,SECOND-END-VALUE)", asetpts=N/SR/TB"  my-video-cut.mp4

Ersetzen Sie „FIRST-START-VALUE“ und „FIRST-END-VALUE“ für die Flags -vf und -af durch den Wert für Ihren ersten Schnitt. In meinem Video beginnt mein erster Schnitt bei 150 Sekunden und endet bei 240.

Ersetzen Sie „SECOND-START-VALUE“ und „SECOND-END-VALUE“ durch den Wert für Ihren zweiten Schnitt und drücken Sie dann die Eingabetaste, um Ihren Befehl auszuführen.

Notiz: Sie können zusätzliche Schnitte hinzufügen, indem Sie die Funktion „+between()“ auf die Flags -vf und -af zusammen mit einer durch Kommas getrennten Liste Ihrer neuen Schnittzeiten kopieren.

Vergewissern Sie sich, dass Ihr neues Video richtig geschnitten ist, indem Sie es mit Ihrer Originaldatei vergleichen.

Gut zu wissen: FFmpeg kann auch mit Musik umgehen. Erfahren Sie, wie Sie Ihre Musikdateien mit FFmpeg anpassen und normalisieren können.

Schneiden einer Videodatei in einheitliche Segmente

Neben dem Schneiden und Zusammenfügen von Clips können Sie mit FFmpeg auch ein ganzes Video in kurze Segmente schneiden und zuschneiden. Dies kann nützlich sein, wenn Sie ein langes Video haben, das Sie in kleinere Clips aufteilen.

Öffnen Sie zunächst eine Terminalsitzung und navigieren Sie dann zum Verzeichnis Ihres langen Videos.

Kopieren Sie die folgende Codezeile in Ihre Terminal-Eingabeaufforderung:

ffmpeg -i my-video.mp4 -c copy -map 0 -segment_time 00:10:00 -f segment -reset_timestamps 1 my-video-%03d.mp4

Ersetzen Sie den Wert für „segment_time“ durch Ihre Zielcliplänge. Sie können diesen Wert beispielsweise auf „00:05:00“ setzen, um Ihr langes Video in 5-Minuten-Segmente aufzuteilen.

Notiz: Dieser Befehl versucht, Ihre Videodatei basierend auf dem Keyframe aufzuteilen, der Ihrer Zielsegmentzeit am nächsten kommt. Daher führt dieser Befehl möglicherweise nicht immer zu perfekt einheitlichen Segmenten.

Das Erlernen grundlegender Videomanipulationen in FFmpeg ist nur eines der coolen Dinge, die Sie unter Linux tun können. Entdecken Sie mehr über das vielfältige Ökosystem dieses Betriebssystems, indem Sie sich einige der besten Software für Linux ansehen.

Sanjeev Nagaraj über Unsplash Und Wikimedia Commons. Alle Änderungen und Screenshots von Ramces Red.