3 votos

Bash script no funciona en Automator pero sí desde el terminal

Tengo este bash script que funciona perfectamente en la terminal

#!/bin/bash

for f in "$@"; do

  DIRNAME="$(dirname "$f")"

  filename=$(basename "$f")
  name="${filename%.*}"
  extension="${filename##*.}"

  /usr/local/bin/ffmpeg -i "$f" -filter_complex 'scale=1920:1080, pad=2134:1200:107:60' "$DIRNAME"/OUTPUT_"$name"."$extension"
  /usr/local/bin/ffmpeg -i OUTPUT_"$name"."$extension" -vf 'scale=1920:1080' FINAL_"$name"."$extension"

 done

Estoy intentando crear un servicio para el finder que acepte archivos de película y los procese usando este script. El servicio está configurado para pasar la entrada a stdin. Cuando selecciono las películas en el finder y ejecuto ese servicio, no pasa nada. Como he dicho, el script funciona perfectamente desde el terminal.

enter image description here

¿Alguna pista?


Esta pregunta parece similar a ¡ffmpeg funciona desde la línea de comandos en Terminal pero no en un shell de Automator script! pero aplicando la respuesta (ruta completa a ffmpeg ) no resolvió mi problema.

2voto

SpaceDog Puntos 499

Además de especificar la ruta completa a ffmpeg dos problemas adicionales que debían ser resueltos:

  1. También se necesita la ruta de los archivos de salida.

  2. El pass input opción de la acción shell script tiene que ser establecida as arguments .

enter image description here

El script final es entonces este:

#!/bin/bash

for f in "$@"; do

  DIRNAME="$(dirname "$f")"

  filename=$(basename "$f")
  name="${filename%.*}"
  extension="${filename##*.}"

  /usr/local/bin/ffmpeg -i "$f" -filter_complex 'scale=1920:1080, pad=2134:1200:107:60' "$DIRNAME"/OUTPUT_"$name"."$extension"
  /usr/local/bin/ffmpeg -i "$DIRNAME"/OUTPUT_"$name"."$extension" -vf 'scale=1920:1080' "$DIRNAME"/FINAL_"$name"."$extension"

done

Fíjate en cómo se ha añadido la ruta a ffmpeg y también en que $DIRNAME a los archivos de salida, que no se mencionaba en la otra pregunta.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X