Skip to main content

ffmpeg

Anleitung: Videos in Einzelbilder aufteilen mit ffmpeg

Ziel

Mit dieser Anleitung können Sie Videos in Einzelbilder aufteilen. Dies kann nützlich sein, wenn Sie beispielsweise eine Struktur-aus-Bewegung-Rekonstruktion mit Tools wie COLMAP durchführen möchten.

Voraussetzungen

  • ffmpeg muss auf Ihrem System installiert sein. Wenn es noch nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:

    sudo apt install ffmpeg
    

Schritte

  1. Bash-Skript erstellen 

    Erstellen Sie eine neue Datei namens split_videos_to_images.sh und fügen Sie den folgenden Code ein:

    #!/bin/bash
    
    # Überprüfen Sie, ob ffmpeg installiert ist
    if ! command -v ffmpeg &> /dev/null; then
        echo "ffmpeg ist nicht installiert. Bitte installieren Sie es zuerst."
        exit 1
    fi
    
    # Durchlaufen Sie alle MP4-Videos im aktuellen Verzeichnis
    for video in *.mp4; do
        # Entfernen Sie die Dateierweiterung, um den Ordnernamen zu erhalten
        dir_name="${video%.*}"
    
        # Erstellen Sie ein Verzeichnis mit dem Namen des Videos
        mkdir -p "$dir_name"
    
        # Teilen Sie das Video in Einzelbilder auf und speichern Sie sie im entsprechenden Verzeichnis
        ffmpeg -i "$video" -q:v 2 "$dir_name/frame_%04d.jpg"
    done
    
    echo "Alle Videos wurden erfolgreich in Einzelbilder aufgeteilt!"
    
  2. Skript ausführbar machen

    Öffnen Sie ein Terminal und navigieren Sie zu dem Verzeichnis, in dem sich Ihr Skript befindet. Machen Sie das Skript mit dem folgenden Befehl ausführbar:

    chmod +x split_videos_to_images.sh
    
  3. Skript ausführen

    Führen Sie das Skript im gewünschten Verzeichnis aus:

    ./split_videos_to_images.sh
    

    Das Skript wird alle .mp4-Videos im aktuellen Verzeichnis durchlaufen, für jedes Video einen Ordner mit dem Namen des Videos (ohne die .mp4-Erweiterung) erstellen und die Einzelbilder des Videos in diesen Ordner speichern.

Hinweis

  • Wenn Sie auch andere Videoformate haben, können Sie die Zeile for video in *.mp4; do im Skript entsprechend anpassen, z.B. for video in *.mp4 *.avi *.mkv; do für MP4, AVI und MKV-Formate.

Sie können diese Anleitung in Ihr Wiki kopieren und bei Bedarf anpassen. Ich hoffe, das hilft!