Ich verwende Automator, um ein Shell-Skript (ffmpeg-Transcodierung in h264) als „Dienst“ auszuführen, sodass ich einfach mit der rechten Maustaste auf die hochauflösende .mov-Datei klicken und den Dienst auswählen kann. Es funktioniert gut, aber da es ffmpeg ist, wäre es gut, die Ausgabe in einem Terminalfenster zu sehen. Gibt es eine Möglichkeit, die Ausgabe in Echtzeit zu sehen?
Sollte keinen Unterschied machen, aber hier ist das Skript für alle Fälle:
for f in "$@"
do
/usr/local/bin/ffmpeg -i "$f" -c:v libx264 -vf yadif -pix_fmt yuv420p -crf 21 -preset slow -movflags faststart -c:a copy ${f%.*}_h264_yadif.mov
done
Dieses AppleScript startet ein Terminalfenster mit dem von Ihnen angegebenen Befehl:
on run {Eingabe, Parameter} Sagen Sie der Anwendung "Terminal" aktivieren Sie setze filesString auf "" Wiederholen Sie dies mit file_ in der Eingabe setze filesString auf filesString & " " & Anführungszeichen von (POSIX-Pfad von file_) Ende wiederholen do script "for f in" & filesString & "; tun /usr/local/bin/ffmpeg -i \"$f\" -c:v libx264 -vf yadif -pix_fmt yuv420p -crf 21 -preset slow -movflags faststart -c:a copy ${f%.*}_h264_yadif. bewegen Erledigt" Ende erzählen Eingang zurückgeben Endlauf
Erstellen Sie in Automator eine Aktion „AppleScript ausführen“ und fügen Sie sie dort ein.
Eine schöne und saubere Lösung besteht darin , Nachrichten über das Benachrichtigungszentrum anzuzeigen. Führen Sie einfach den folgenden Terminalbefehl in Ihrem Skript aus.
osascript -e 'display notification "All files converted" with title "ffmpeg converter"'
Der Befehl 'osascript' führt ein beliebiges AppleScript vom Terminal aus, 'Benachrichtigung anzeigen' zeigt eine nette Benachrichtigung an.
Sie können auch „Alarm anzeigen“ verwenden. Es gibt keine Begrenzung der Nachrichtenlänge und es ist einfach, eine OKSchaltfläche hinzuzufügen.
osascript -e 'set alertResult to display alert "Bad news :( Error converting your video file." buttons {"OK"} as warning'
Hier ist eine Apple Script-Befehlsreferenz. Suchen Sie nach „Benachrichtigung anzeigen“ und „Benachrichtigung anzeigen“, um weitere Informationen zu erhalten.
Hier ist eine einfache Lösung, die ich zum Laufen gebracht habe und die die Befehlsausgabe zeigt, sobald sie fertig ist:
Beim test.py
Python-Skript drucke ich zum Beispiel nur die übergebenen Argumente („Running a script with …“). Wenn ich es also ausführe, wird nach Abschluss Folgendes angezeigt:
Benutzer1148106