- Registriert
- 10.02.06
- Beiträge
- 923
Hallo zusammen,
ich habe mit Automator einen Dienst erstellt, der "ausgewählte Dateien und Ordner in Finder" empfängt und dann ein Shell Skript (bash) ausführt, bei dem die Eingabe als Argumente übergeben werden.
Das Shell Skript sieht folgendermaßen aus:
Der Sinn dabei soll sein, dass mit Hilfe des Programms ffprobe der verwendete Audiocodec in der angegebenen Videodatei ermittelt wird und dieser dann direkt als Dateierweiterung für die extrahierte Audiodatei benutzt wird.
Wenn ich diese Befehle ins Terminal eingebe, funktioniert es genau so wie es soll.
Wenn ich allerdings den Dienst ausführe, erhalte ich als Audiodatei eine "audio.", also ohne Dateierweiterung. Der Fehler scheint somit in der ersten Zeile zu liegen. Ich wüsste jedoch nicht, was genau da nicht funktionieren soll. Ich habe auch extra die kompletten Pfade zu den Programmen ffprobe und sed angegeben, weil ich schon mal das Problem hatte, dass z.B. ffprobe oder ffmpeg sonst gar nicht gefunden werden.
Ausser "Shell-Skript ausführen abgeschlossen" und "Arbeitsablauf abgeschlossen", bekomme ich auch vom Automator sonst keine Meldungen.
Was übersehe ich hier?
Viele Grüße,
kybdf2
EDIT: Gerade habe ich einen Thread gefunden, in dem erklärt wird, warum man die Pfade angeben muss. Das Problem habe ich also nun nicht mehr. Das andere jedoch schon...
ich habe mit Automator einen Dienst erstellt, der "ausgewählte Dateien und Ordner in Finder" empfängt und dann ein Shell Skript (bash) ausführt, bei dem die Eingabe als Argumente übergeben werden.
Das Shell Skript sieht folgendermaßen aus:
Code:
suffix=$(/usr/local/bin/ffprobe "$@" 2>&1 |/usr/bin/sed -En 's/.*Audio: (…), .*/\1/p')
folder=$(dirname "$@")
/usr/local/bin/ffmpeg -i "$@" -vn -acodec copy "$folder"/audio."$suffix"
Der Sinn dabei soll sein, dass mit Hilfe des Programms ffprobe der verwendete Audiocodec in der angegebenen Videodatei ermittelt wird und dieser dann direkt als Dateierweiterung für die extrahierte Audiodatei benutzt wird.
Wenn ich diese Befehle ins Terminal eingebe, funktioniert es genau so wie es soll.
Wenn ich allerdings den Dienst ausführe, erhalte ich als Audiodatei eine "audio.", also ohne Dateierweiterung. Der Fehler scheint somit in der ersten Zeile zu liegen. Ich wüsste jedoch nicht, was genau da nicht funktionieren soll. Ich habe auch extra die kompletten Pfade zu den Programmen ffprobe und sed angegeben, weil ich schon mal das Problem hatte, dass z.B. ffprobe oder ffmpeg sonst gar nicht gefunden werden.
Ausser "Shell-Skript ausführen abgeschlossen" und "Arbeitsablauf abgeschlossen", bekomme ich auch vom Automator sonst keine Meldungen.
Was übersehe ich hier?
Viele Grüße,
kybdf2
EDIT: Gerade habe ich einen Thread gefunden, in dem erklärt wird, warum man die Pfade angeben muss. Das Problem habe ich also nun nicht mehr. Das andere jedoch schon...