Skip to content

Instantly share code, notes, and snippets.

@rmoriz
Created June 24, 2025 18:48
Show Gist options
  • Save rmoriz/508f4dfaf639f7e99a9f685f53063ea6 to your computer and use it in GitHub Desktop.
Save rmoriz/508f4dfaf639f7e99a9f685f53063ea6 to your computer and use it in GitHub Desktop.
vibing

💬 Chatverlauf & Anleitungen – FFmpeg-Integration in Finder (macOS)


🙋‍♂️ user:

Ich möchte im finder.app per Rechtsklick auf eine Videodatei die Option haben, ein bestimmtes ffmpeg command auszuführen. wie gehe ich da vor?


🤖 ChatGPT:

Um im macOS Finder per Rechtsklick auf eine Videodatei ein bestimmtes ffmpeg-Kommando auszuführen, kannst du einen Quick Action (Kurzbefehl) mit Automator oder der Kurzbefehle-App (Shortcuts) erstellen.

✅ Schritt-für-Schritt-Anleitung mit Automator

  1. Automator öffnen

    • Öffne Automator.app (in /Applications oder über Spotlight).
  2. Neues Dokument erstellen

    • Wähle „Neues Dokument“
    • Typ: „Schnellaktion“
  3. Schnellaktion konfigurieren

    • „Der Workflow empfängt aktuellen“ → Dateien oder Ordner
    • „in“ → Finder.app
  4. Shell-Skript hinzufügen

    • Suche: „Shell-Skript ausführen“ → in den Workflow ziehen.
  5. Shell-Skript konfigurieren

    for f in "$@"
    do
        /opt/homebrew/bin/ffmpeg -i "$f" -c:v libx264 -crf 23 -preset fast "${f%.*}_converted.mp4"
    done
  6. Speichern

    • Name z. B. „Mit FFmpeg konvertieren“

🙋‍♂️ user:

Ich möchte Videos per -preset veryslow und -crf 26 komprimieren, der Dateiname soll von der Eingabedatei im Schema NAME.ENDUNG übernommen und angepasst werden auf DATEI_low.ENDUNG


🤖 ChatGPT:

Verstanden – hier ist dein angepasstes Shell-Skript:

for f in "$@"
do
    dir=$(dirname "$f")
    base=$(basename "$f")
    name="${base%.*}"
    ext="${base##*.}"
    output="${dir}/${name}_low.${ext}"

    /opt/homebrew/bin/ffmpeg -i "$f" -c:v libx264 -crf 26 -preset veryslow "$output"
done

🙋‍♂️ user:

leider passiert nichts


🤖 ChatGPT:

🔍 Checkliste zur Fehlersuche

  1. Funktioniert ffmpeg im Terminal?

    which ffmpeg
    ffmpeg -version
  2. Pfad korrekt im Automator-Skript?

  3. Zugriffsrechte prüfen:

    • Systemeinstellungen > Datenschutz & Sicherheit > Vollzugriff
  4. Logging-Skript zur Diagnose:

    for f in "$@"
    do
        echo "Eingabedatei: $f" >> ~/Desktop/ffmpeg_log.txt
    
        dir=$(dirname "$f")
        base=$(basename "$f")
        name="${base%.*}"
        ext="${base##*.}"
        output="${dir}/${name}_low.${ext}"
    
        echo "Ziel: $output" >> ~/Desktop/ffmpeg_log.txt
    
        /opt/homebrew/bin/ffmpeg -i "$f" -c:v libx264 -crf 26 -preset veryslow "$output" >> ~/Desktop/ffmpeg_log.txt 2>&1
    done

🙋‍♂️ user:

which ffmpeg
/opt/homebrew/bin/ffmpeg


🤖 ChatGPT:

Alles korrekt installiert. Teste ggf. das Logging-Skript oben.


🙋‍♂️ user:

cat: /Users/user/Desktop/ffmpeg_debug_log.txt: No such file or directory


🤖 ChatGPT:

Die Schnellaktion wurde vermutlich nicht ausgeführt.
📌 In Automator unbedingt "Argumente" als Eingabe übergeben – Standard ist stdin, was nicht funktioniert.


🙋‍♂️ user:

Ok das problem war stdin vs. Argumente. default ist stin


🤖 ChatGPT:

✅ Genau – das war die Ursache! Automator-Shellskripte brauchen Eingabe übergeben als: Argumente.


🙋‍♂️ user:

kann ich das auch direkt bei einem Rechtsklick haben ohne in Schnellaktionen gehen zu müssen?


🤖 ChatGPT:

🛠 Optionen:

  • Kurzen Namen wählen → Schnellaktion erscheint direkter
  • Als .app speichern (über Automator → „Programm“) → erscheint in „Öffnen mit“
  • Dritttools oder Finder-Plugins (fortgeschritten)

🙋‍♂️ user:

ja


🤖 ChatGPT:

📦 Eigene .app erstellen:

  1. Automator öffnen → Typ: Programm
  2. Shell-Skript einfügen:
    for f in "$@"
    do
        dir=$(dirname "$f")
        base=$(basename "$f")
        name="${base%.*}"
        ext="${base##*.}"
        output="${dir}/${name}_low.${ext}"
    
        /opt/homebrew/bin/ffmpeg -i "$f" -c:v libx264 -crf 26 -preset veryslow "$output"
    done
  3. Speichern als z. B. FFmpeg Compressor.app

→ Dann nutzbar über „Öffnen mit“


🙋‍♂️ user:

Wie bekomme ich das script immer in die Auswahlliste ohne es als default für Videodateien zu defienieren?


🤖 ChatGPT:

🎯 Ziel: Immer sichtbar in „Öffnen mit“ – ohne Standard zu werden

✅ So geht's:

  1. Ziehe einmal eine .mp4 auf deine .app
  2. Oder: Rechtsklick > Öffnen mit > Andere… → DeineApp.app auswählen
    ⚠️ Haken bei „Immer öffnen mit“ nicht setzen
  3. macOS merkt sich die App für den Dateityp

(Optional) LaunchServices aktualisieren:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister  -kill -r -domain local -domain system -domain user
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment