7.28.2011

zshを使って、ffmpegで一気にファイルを変換する

覚書程度に。

ffmepgの弱点は、例えばwavからmp3に変換する時、ワイルドカードによるファイル名してが効かないことだ。

例えばいっぺんに変換しようとして

ffmpeg -i *.wav *.mp3

なんてしても、*.wavがねぇ!と怒られる。

そんなわけで、zshでいっぺんに変換してみた。

こんな感じ。

% foreach f (*.wav)
>ffmpeg -i $f -ar 44100 -ab 128 -threads 2 $f:r.mp3
>end

foreachでwavファイルを展開してひとつずつ$fに放り込んでいって、 $f:rでファイル名部分を取り出して、拡張子をmp3に変えてやるという感じ。

ちなみに-threadsオプションは、確かマルチスレッド化するためのオプションだった気がする。

CPUコア数を入れてみたけれども、あまり体感的な差はない。

もしかして、我が家のはマルチスレッド対応じゃないffmepgだったかしらん。。。

ともあれ、こういう時はzsh使いで良かったなぁと感じるわけです。

0 件のコメント: