ディレクトリ内にたくさんのビデオがあると仮定すると、/home/user/videos/awaiting_conversion
cron を使用してこのようなスクリプトを実行し、各ビデオを別の形式にバッチ変換するにはどうすればよいでしょうか?
/bin/sh -c $'nice /usr/bin/ffmpeg -i \044'\'$'/home/user/videos/awaiting_conversion/video_file_1.mp4'\'$' -s \044'\'$'480x320'\'$' -vcodec libx264 -acodec libmp3lame -ab \044'\'$'64k'\'$' -vpre fast -crf \044'\'$'30'\'$' -ar \044'\'$'22050'\'$' -f flv -y \044'\'$'/home/user/videos/converted/video_file_1.flv'\'$''
上記のスクリプトは、1 回の変換では正常に機能しますが、次のようになります。
- ビデオの名前が静的/既知であることを前提としています (バッチ変換の場合はそうではありません)。
- 変換するビデオが 1 つしかないことを前提としています (そうでない場合もあります)。つまり、「ループ」はありません。
- 元のファイルを削除するのではなく、元のファイルをそのまま残します(これは、変換の重複を防ぐために起こりたいことです)。
/home/user/videos/awaiting_conversion
最終的な問題は、ファイル名を変数として渡して、内部に存在する各ビデオに対してそのスクリプトを実行するにはどうすればよいかということです。