Conversione di video in background usando l'automazione e il freno a mano

1

Sto tentando di automatizzare il processo di conversione video utilizzando il freno a mano e l'automazione.

Ecco lo script che sto usando nell'azione Run Shell Script di 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

Il problema è che quando eseguo manualmente questo script da Automator funziona bene, ma quando vengono aggiunti nuovi file nella cartella, questo script viene chiamato ma i video non vengono convertiti. Se rimuovo '&' dalla fine del comando funziona quindi con nuovi file ma non in modalità nascosta e voglio che venga eseguito in modalità nascosta.

Quindi, se qualcuno mi può guidare su cosa sto facendo di sbagliato qui ???

Accedi dalla console:

    
posta Muhammad Tahir 27.01.2014 - 12:58
fonte

1 risposta

1

In primo luogo, suppongo che tu abbia accidentalmente tagliato il carattere "/" nella parte anteriore del percorso di Freno a mano nell'esempio. Secondo, quando dici "modalità nascosta" intendi correre in background.

Cosa succede se si esegue il comando dalla riga di comando?

Come sai che il comando non è in esecuzione quando lo esegui in modalità background? Stai facendo un comando "ps" dalla riga di comando per vedere se è in esecuzione o no?

Hai provato ad aggiungere "> > ~ / HB_log.txt 2 > & 1" appena prima del "&" comando in modo da ottenere un registro sia dell'output che degli errori che potrebbe essere eliminato?

Se viene utilizzata solo la prima parte del nome, presumo che i caratteri di citazione attorno al nome vengano eliminati: prova a sfuggire a questi con una \ ". Così come '\ "/ Users / abc / Desktop / TestVidDest / $ (basename $ f) \"' e vedi cosa succede.

Ho anche il sospetto che i problemi con il nome potrebbero sconvolgere l'intera linea e causare il tuo problema.

In realtà scriverei uno script di shell che puoi testare esternamente e quindi chiamare lo script della shell da Automator.

    
risposta data 27.01.2014 - 13:43
fonte

Leggi altre domande sui tag