shell script ffmpeg berhenti setelah 2 pekerjaan [ditutup]

2

Saya memiliki skrip shell yang cukup sederhana dan setelah melakukan dua pekerjaan pertama, itu hanya berhenti dan duduk di sana, tidak melakukan apa-apa, tampaknya tidak masalah apa pekerjaan ketiga, jika saya mengganti pesanan dll, itu tidak akan menyelesaikannya.

Ada ide yang bagus ...

Ini skrip shell saya

for f in "$@"
do
name=$(basename "$f")
dir=$(dirname "$f")
/opt/local/bin/ffmpeg -i "$f" -y -b 250k -deinterlace -vcodec vp8 -acodec libvorbis -nostdin "$dir/webm/${name%.*}.webm"
/opt/local/bin/ffmpeg -i "$f" -y -b 250k -strict experimental -deinterlace -vcodec h264 -acodec aac -nostdin "$dir/mp4/${name%.*}.mp4"
/opt/local/bin/ffmpeg -i "$f" -y -ss 00:00:15.000 -deinterlace -vcodec mjpeg -vframes 1 -an -f rawvideo -s 720x480 "$dir/img/${name%.*}.jpg"
done

Ini dapat membantu, karena saya menjalankan skrip ini dalam Automator, yang mungkin menjadi bagian dari masalah ... sepertinya waktunya habis dan kemudian hanya duduk di sana ...

enter image description here

Chris James Champeau
sumber
Apa tujuan dari backticks?
Dennis
Melihatnya di skrip lain, berpikir itu bisa membantu ... tapi selain itu, ada non ... mereka benar-benar dihapus sekarang
Chris James Champeau
Di mana tepatnya berhenti? Apakah itu benar-benar memanggil ffmpeg? Apakah itu berfungsi jika Anda menggunakan sesuatu selain ffmpeg? (Perhatikan bahwa urutan opsi FFmpeg Anda sedikit berbeda dalam kasus Anda mungkin tidak masalah, tetapi opsi global suka -y, -nostdin harus selalu didahulukan.) Apa yang terjadi ketika Anda menempatkan semua perintah dalam subkulit (mis. dalam tanda kurung (ffmpeg -i … ) )?
slhck
Saya pindah -y dan -nostdin ke awal, tetapi menempatkan setiap subkulit dalam tanda kurung membuat kesalahan, syntax error near unexpected token ')'
Chris James Champeau
Harap perbarui posting Anda dengan sintaks yang Anda gunakan untuk subkulit. Bagaimana dengan perintah selain FFmpeg?
slhck