Conversión de videos en segundo plano usando automator y freno de mano

1

Estoy tratando de automatizar el proceso de conversión de video usando handbrake y automator.

Aquí está el script que estoy usando en la acción Ejecutar el script de shell de Automator Folder Action:

for f in "$@"
do
    Applications/HandBrakeCLI -i "$f" -t 1 \ 
    --angle 1 -c 1 -o "/Users/abc/Desktop/TestVidDest/$(basename $f)" \
    -f mp4  -4  -O  --decomb="fast" -w 1280 -l 720 --modulus 16 \
    -e x264 -b 3800 -2  -T  --cfr -a 1 -E faac -6 dpl2 -R 48 -B 128 \
    -D 0 --gain 0 --audio-fallback ffac3 --x264-preset=slow  \
    --x264-profile=high  --x264-tune="film"  --h264-level="4.0" \
    --verbose=1  &
done

El problema es cuando ejecuto manualmente este script de Automator, funciona bien, pero cuando se agregan nuevos archivos a la carpeta, se llama a este script pero los videos no se convierten. Si elimino '&' desde el final del comando, entonces funciona con nuevos archivos pero no en modo oculto y quiero que se ejecute en modo oculto.

¿Así que si alguien me puede guiar sobre lo que estoy haciendo mal aquí?

Iniciar sesión desde la consola:

    
pregunta Muhammad Tahir 27.01.2014 - 12:58

1 respuesta

1

Primero, asumo que accidentalmente cortaste el carácter '/' en la parte delantera del camino a Handbrake en tu ejemplo. En segundo lugar, cuando dices "modo oculto", te refieres a ejecutar en segundo plano.

¿Qué sucede si ejecuta el comando desde la línea de comandos?

¿Cómo sabes que el comando no se está ejecutando cuando lo ejecutas en modo de fondo? ¿Está ejecutando un comando "ps" desde la línea de comandos para ver si se está ejecutando o no?

¿Has intentado agregar "> > ~ / HB_log.txt 2 > & 1" justo antes de "&" comando para que obtenga un registro tanto de la salida como de los errores que podría estar produciendo?

Si solo se está utilizando la primera parte del nombre, asumo que los caracteres de comillas alrededor del nombre se están eliminando. Intente escapar con un '\'. Al igual que '\ "/ Users / abc / Desktop / TestVidDest / $ (basename $ f) \"' y vea qué sucede.

También sospecho que los problemas con el nombre pueden estar alterando toda la línea y causando su problema.

En realidad, escribiría un script de shell que podría probar externamente y luego llamaría su script de shell desde Automator.

    
respondido por el Tony Williams 27.01.2014 - 13:43

Lea otras preguntas en las etiquetas