Bilder und Videos mit FFmpeg zuschneiden
FFmpeg ist ein robustes Kommandozeilenwerkzeug, mit dem sich Bilder und Videos einfach und effizient zuschneiden lassen. In dieser Anleitung zeigen wir praktische Techniken, um Mediendateien direkt im Terminal zuzuschneiden und so Ihren Entwicklungs-Workflow zu straffen.
Einführung in FFmpeg zum Zuschneiden von Bildern und Videos
FFmpeg ist ein vielseitiges Werkzeug zur Verarbeitung von Audio-, Video- und Bilddateien. Neben der Konvertierung von Formaten und dem Encoding von Streams kann FFmpeg Medien präzise zuschneiden. Diese Fähigkeit ist besonders nützlich, wenn Sie sich auf einen bestimmten Bereich eines Bildes oder Videos konzentrieren möchten, sei es für Webanwendungen, die Inhaltsbearbeitung oder Automatisierungsaufgaben.
FFmpeg auf Ihrem System installieren
Bevor Sie mit dem Zuschneiden beginnen, stellen Sie sicher, dass FFmpeg auf Ihrem System installiert ist.
Installation unter macOS
Installieren Sie FFmpeg mit Homebrew:
brew install ffmpeg
Installation unter Linux
Für Debian-basierte Systeme:
sudo apt update
sudo apt install ffmpeg
Für Red-Hat-basierte Systeme:
sudo dnf install ffmpeg
Installation unter Windows
Laden Sie den neuesten Build von der offiziellen FFmpeg-Website
herunter. Entpacken Sie die Binärdateien und fügen Sie das Verzeichnis bin von FFmpeg der Umgebungsvariable PATH Ihres Systems hinzu.
Grundlagen des Zuschneidens in FFmpeg
Das Zuschneiden erfolgt mit dem Filter crop von FFmpeg, der vier Parameter benötigt:
width(out_w): die Breite der Ausgabemedien.height(out_h): die Höhe der Ausgabemedien.x: die x-Koordinate der oberen linken Ecke, an der das Zuschneiden beginnt.y: die y-Koordinate der oberen linken Ecke, an der das Zuschneiden beginnt.
Die allgemeine Syntax lautet:
ffmpeg -i input -vf "crop=out_w:out_h:x:y" output
Bilder mit FFmpeg zuschneiden
Obwohl FFmpeg vor allem für die Videoverarbeitung bekannt ist, geht es mit Bildern ebenso souverän um. Hier ist ein Beispiel für das Zuschneiden eines Bildes.
Beispiel: ein Bild zuschneiden
So schneiden Sie einen 200x200 Pixel großen Bereich ab den Koordinaten (50,50) in input.jpg zu:
ffmpeg -i input.jpg -vf "crop=200:200:50:50" output.jpg
Erläuterung
-i input.jpggibt die Eingabedatei an.-vf "crop=200:200:50:50"wendet den Crop-Filter mit den definierten Abmessungen und Versätzen an.output.jpgist das resultierende zugeschnittene Bild.
Videos mit FFmpeg zuschneiden
Das Zuschneiden von Videos funktioniert ähnlich wie bei Bildern: Der Crop-Filter wird auf jedes Einzelbild des Videos angewendet.
Beispiel: ein Video zuschneiden
So schneiden Sie einen 1280x720 großen Bereich ab der oberen linken Ecke von input.mp4 zu:
ffmpeg -i input.mp4 -vf "crop=1280:720:0:0" output.mp4
Erläuterung
-i input.mp4gibt das Eingabevideo an.-vf "crop=1280:720:0:0"schneidet das Video ab der oberen linken Ecke auf 1280x720 Pixel zu.output.mp4ist die Ausgabedatei.
Dynamisches Zuschneiden anhand der Eingabeabmessungen
Für mehr Flexibilität können Sie Ausdrücke verwenden, um automatisch relativ zu den Abmessungen des Eingabevideos zuzuschneiden. Um beispielsweise das zentrale Quadrat eines Videos zuzuschneiden:
ffmpeg -i input.mp4 -vf "crop='min(in_w\,in_h)':'min(in_w\,in_h)':(in_w-min(in_w\,in_h))/2:(in_h-min(in_w\,in_h))/2" output.mp4
in_wundin_hstehen für die Breite und Höhe der Eingabe.- Die Funktion
min(in_w\,in_h)wählt die kleinere Abmessung und stellt so einen quadratischen Zuschnitt sicher. - Die Ausdrücke zentrieren den Zuschnitt horizontal und vertikal.
Kommandozeilenoptionen zum Zuschneiden in FFmpeg
Der grundlegende Befehl zum Zuschneiden lautet:
ffmpeg -i input -vf "crop=out_w:out_h:x:y" output
Der Klarheit halber können Sie auch benannte Parameter angeben:
ffmpeg -i input.mp4 -vf "crop=w=1280:h=720:x=0:y=0" output.mp4
Beide Ansätze liefern dasselbe Ergebnis.
Zuschneideaufgaben mit Skripten automatisieren
Die Automatisierung wiederkehrender Zuschneideaufgaben spart wertvolle Zeit. Sie können Shell-Skripte oder Batch-Dateien schreiben, um einheitliche Zuschnitteinstellungen auf mehrere Dateien anzuwenden.
Stapelweises Zuschneiden von Bildern mit einem Bash-Skript
Das folgende Skript verarbeitet alle Dateien mit der Endung .jpg in einem Verzeichnis:
#!/bin/bash
for img in *.jpg; do
ffmpeg -i "$img" -vf "crop=200:200:50:50" "cropped_$img"
done
Stapelweises Zuschneiden von Bildern mit einem Batch-Skript (Windows)
for %%i in (*.jpg) do ffmpeg -i "%%i" -vf "crop=200:200:50:50" "cropped_%%i"
Zuschneiden mit Python automatisieren
Sie können FFmpeg auch aus Python heraus aufrufen:
import subprocess
import glob
for img in glob.glob("*.jpg"):
subprocess.call([
"ffmpeg",
"-i", img,
"-vf", "crop=200:200:50:50",
f"cropped_{img}"
])
Warum FFmpeg zum Zuschneiden verwenden?
FFmpeg ist aus mehreren Gründen eine zuverlässige Wahl für das Zuschneiden von Medien:
- Automatisierung: lässt sich für die Stapelverarbeitung einfach skripten.
- Vielseitigkeit: unterstützt eine breite Palette an Eingabe- und Ausgabeformaten.
- Effizienz: verarbeitet Medien schnell und fügt sich reibungslos in automatisierte Workflows ein.
- Headless-Betrieb: ideal für Serverumgebungen ohne grafische Oberfläche.
Fazit und weiterführende Ressourcen
Bilder und Videos mit FFmpeg zuzuschneiden ist unkompliziert, sobald Sie die Parameter und die Syntax verstanden haben. Ob Sie ein einmaliges Projekt angehen oder wiederkehrende Aufgaben automatisieren: FFmpeg bietet robuste Werkzeuge, um Ihre Medienverarbeitungs-Pipeline zu verbessern.
Ausführlichere Informationen finden Sie in der FFmpeg-Dokumentation.
Wenn Sie eine skalierbare Lösung suchen, um Medienverarbeitungsaufgaben wie das Zuschneiden von Bildern und Videos zu automatisieren, werfen Sie einen Blick auf die Transloadit API.
