フォルダ内からビデオを処理するために作成したbashスクリプトがあり、そのサブフォルダは次のとおりです。
find . -type f -name '*.mkv' | while read file;
do
ffmpeg -i $file ...
done
問題:ffmpegが完了するのを待つwhileループの代わりに、ループを繰り返し処理し続けます。その結果、ファイルは処理されません。ffmpegが完了するまで待ってから次のループに進むために、現在のwhileループの反復を行う方法が必要です。または、これらのアイテムをキューに入れる方法もあります。
編集:したがって、ファイルのセットを反復処理するときの解決策は、-nostdinパラメーターをffmpegに渡すことです。これが同様の問題を抱えている可能性のある他の人に役立つことを願っています。
また、file->$fileはコピー/貼り付けのタイプミスでした。