¿Cómo puedo hacer que un servicio de Automator ejecute un script de shell y muestre la salida?

5

Estoy usando Automator para ejecutar un script de shell (ffmpeg transcodificar a h264) como 'Servicio', de modo que puedo hacer clic derecho en el archivo .mov de alta resolución y seleccionar el servicio. Funciona bien, pero como es ffmpeg sería bueno ver la salida en una ventana de Terminal. ¿Hay alguna forma de ver la salida en tiempo real?

No debería hacer una diferencia, pero aquí está el script por si acaso:

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
    
pregunta user1148106 26.08.2014 - 13:11

2 respuestas

4

Este AppleScript abrirá una ventana de Terminal con el comando que especificó:

on run {input, parameters}
    tell application "Terminal"
        activate
        set filesString to ""
        repeat with file_ in input
            set filesString to filesString & " " & quoted form of (POSIX path of file_)
        end repeat
        do script "for f in" & filesString & "; 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"
    end tell
    return input
end run

Crea una acción "Ejecutar AppleScript" en Automator y pégala allí.

    
respondido por el 0942v8653 28.08.2014 - 21:12
4

La solución agradable y limpia es mostrar el mensaje a través del Centro de notificaciones. Simplemente ejecute el siguiente comando de terminal en su script.

osascript -e 'display notification "All files converted" with title "ffmpeg converter"'
El comando

'osascript' ejecuta cualquier AppleScript desde el terminal, la 'notificación de pantalla' muestra una bonita notificación.

Tambiénpuedesusar'mostraralerta'.NotienelimitaciónenlalongituddelmensajeyesfácilagregarleelbotónOK.

osascript-e'setalertResulttodisplayalert"Bad news :( Error converting your video file." buttons {"OK"} as warning'

Aquí es la referencia de comandos de Apple Script. Busque 'mostrar notificación' y 'mostrar alerta' para obtener más información.

    
respondido por el Arseny Kogan 28.08.2014 - 11:11

Lea otras preguntas en las etiquetas