Konversi video di latar belakang menggunakan automator dan rem tangan

1

Saya mencoba mengotomatiskan proses konversi video menggunakan rem tangan dan automator.

Berikut ini skrip yang saya gunakan dalam tindakan Run Shell Script dari 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

Masalahnya adalah ketika saya secara manual menjalankan skrip ini dari Automator berfungsi dengan baik tetapi ketika file baru ditambahkan dalam folder maka skrip ini dipanggil tetapi video tidak dikonversi. Jika saya menghapus '&' dari akhir perintah maka itu berfungsi dengan file baru tetapi tidak dalam mode tersembunyi dan saya ingin itu berjalan dalam mode tersembunyi.

Jadi kalau ada yang bisa membimbing saya tentang apa yang saya lakukan salah di sini ???

Log dari konsol:

Log Konsol

Muhammad Tahir
sumber
@ GrahamMiln ya pertanyaan itu terlalu ditanyakan oleh saya dan saya tidak tahu mengapa tetapi sampai sekarang jawaban Anda di sana tidak terlihat oleh saya. Jadi sekarang saya sudah membaca jawaban Anda di sana. Tetapi masalahnya adalah ketika saya meletakkan "&" di akhir perintah itu berfungsi jika saya menekan tombol run pada automator tetapi tidak berfungsi ketika file ditambahkan ke folder (meskipun skrip dipanggil, saya memeriksanya dengan menunjukkan kotak peringatan sebelum memanggil rem tangan). Jadi ada saran mengapa ini terjadi begitu ???
Muhammad Tahir
Log konsol tidak dapat dibaca dalam gambar itu. Bisakah Anda menyalin dan menempelkan teks yang sebenarnya.
Tony Williams
Aku minta maaf! Saya mencoba menyalin teks terlebih dahulu tetapi saya tidak dapat melakukannya sehingga saya menambahkan tangkapan layar. Tetapi Anda dapat melihat gambar besar dengan melihat gambar di klik kanan.
Muhammad Tahir

Jawaban:

1

Pertama, saya berasumsi bahwa Anda secara tidak sengaja memotong karakter '/' di depan jalan ke Handbrake dalam contoh Anda. Kedua, ketika Anda mengatakan "mode tersembunyi" yang Anda maksud jalankan di latar belakang.

Apa yang terjadi jika Anda menjalankan perintah dari baris perintah?

Bagaimana Anda tahu perintah tidak berjalan ketika Anda menjalankannya dalam mode latar belakang? Apakah Anda melakukan perintah "ps" dari baris perintah untuk melihat apakah itu berjalan atau tidak?

Sudahkah Anda mencoba menambahkan ">> ~ / HB_log.txt 2> & 1" tepat sebelum perintah "&" sehingga Anda mendapatkan log dari output dan kesalahan yang mungkin terjadi?

Jika hanya bagian pertama dari nama yang digunakan maka saya berasumsi bahwa karakter kutipan di sekitar nama sedang dilucuti - cobalah melarikan diri dengan ''. Seperti begitu '\ "/ Pengguna / abc / Desktop / TestVidDest / $ (nama samaran $ f) \"' dan lihat apa yang terjadi.

Saya juga curiga bahwa masalah dengan nama mungkin mengganggu seluruh baris dan menyebabkan masalah Anda.

Saya benar-benar akan menulis skrip shell yang dapat Anda uji eksternal dan kemudian memanggil skrip shell Anda dari Automator.

Tony Williams
sumber
Terima kasih banyak! setelah menambahkan ">> ~ / HB_log.txt 2> & 1" itu berfungsi dengan baik. Tapi bisakah Anda jelaskan mengapa rem tangan tidak berjalan di latar belakang tanpa menambahkan ini. Karena sejauh yang saya tahu ini hanya menambahkan file log ???
Muhammad Tahir
Dan satu masalah lain, nama output tidak diatur dengan benar. Jika nama file memiliki dua kata yaitu "abc def.mp4" maka file output disimpan sebagai "abc.mp4". Bisakah Anda membantu dengan masalah ini?
Muhammad Tahir
Apa yang dikatakan log ketika Anda menjalankannya?
Tony Williams
Jika hanya bagian pertama dari nama yang digunakan maka saya berasumsi bahwa karakter kutipan di sekitar nama sedang dilucuti - cobalah melarikan diri dengan ''. Seperti begitu '\ "/ Pengguna / abc / Desktop / TestVidDest / $ (nama samaran $ f) \"' dan lihat apa yang terjadi.
Tony Williams