¿Cómo ajustar un script que funciona en la Terminal pero falla en Automator?

1

He estado juntando un script de shell para usar FFmpeg para validar archivos de video en una carpeta y crear un archivo de registro.

Cuando se ejecuta en el terminal desde esa carpeta, funciona bien. Cuando lo incorporo a Automator para usarlo como un servicio, falla al crear el archivo de registro correctamente.

Parece que la sintaxis que estoy usando causa un problema en Automator, y falla al invocar FFmpeg. ¿Cómo ajusto mi script en Automator para obtener el mismo resultado que obtuve en la Terminal?

Aquí está el script en Automator:

for f in "$@"
do
    echo "$f"
cd $f
pwd
find -E ./ -regex '.*(.MOV|.MXF|.mp4|.MTS)$' -exec ffmpeg -v error -i {} -map 0:1 -f null - 2>error4.log \;
done

Y la salida del archivo de registro:

  

buscar: ffmpeg: no existe tal archivo o directorio

    
pregunta Johng 22.09.2016 - 22:28

1 respuesta

0

Esto se debe a que Automator no usa la ruta de su shell interactivo. Debe especificar la ubicación de ffmpeg.

  1. En la Terminal, ejecute:

    which ffmpeg
    
  2. Reemplaza el ‘ffmpeg’ en tu script de shell de Automator con la salida de este comando.

respondido por el grg 22.09.2016 - 23:40

Lea otras preguntas en las etiquetas