動画撮影にはHDDビデオカメラの
ビクターEverio(GZ-MG77)を使っているのだが、これで撮れるMPEG2形式の動画ファイル、実はMacではそのまま扱えない。QuickTimeで再生できないし、当然、iMovieで使う事もできない。Apple純正のQuickTime用「
MPEG2再生コンポーネント」なるものはあるが、EverioのMPEG2ファイルに関しては再生ができても音が出ないそうだ。Everioの音声コーデックに非対応ならしい。
というわけで、WindowsからMacに乗り換えて数ヶ月、動画を撮り貯めるばかりで、編集する事はもちろん、再生する事すらもできていなかったのだが、ようやく最近になって、このEverioの動画ファイルを扱える環境をMac上に整えた。と言っても、再生のために
VLCを、iMovieで読み込めるMPEG4への変換のために
ffmpegXを、それぞれインストールしただけ。こんなに簡単ならもっと早く使い始めておけばよかった。
これらのツール、対応する動画/音声のフォーマットが豊富で、UIはシンプルで使いやすく、とにかく素晴らしく便利。そこで今回は、便利ついでにAutomatorでワークフローを作ってみた。

このワークフローでは、ffmpegXのアプリパッケージに含まれている
ffmpegというコマンドを利用している(っていうか、そもそもffmpegXはffmpegのGUIラッパーなので、ffmpegこそが本体なんだけど)。「選択されたFinder項目を取得」の後ろに、ffmpegを実行するための「シェルスクリプトを実行」をつないで、Finder用のプラグインとして保存。Finderで選択した動画ファイルをMPEG4に自動変換してくれる。
ちなみに、シェルスクリプトの中身を書き下すと以下のような感じ。
for f in "$@"
do
/Applications/ffmpegX.app/Contents/Resources/ffmpeg -i "$f" \
-vcodec mpeg4 -s 640x480 -aspect 4:3 -r 29.97 -b 4000k -qmin 2 -qmax 9 \
-acodec aac -ab 96k "$f".mp4
done
ffmpegにはかなり豊富なコマンドオプションが用意されているので、特に出力の各種パラメータについては色々とカスタマイズの余地がありそうだが、これで変換がお手軽にできるようになった。
ワークフローを作るのは初めてだったが、ちょー便利だな、これ。
[2010/03/22追記]ちなみに、ワイド(16:9)で撮った動画を変換するために、
for f in "$@"
do
/Applications/ffmpegX.app/Contents/Resources/ffmpeg -i "$f" \
-vcodec mpeg4 -s 720x405 -aspect 16:9 -r 29.97 -b 4000k -qmin 2 -qmax 9 \
-acodec aac -ab 96k "$f".mp4
done
と、スクリプトの縦横比関連の指定("
-s"と"
-aspect")を変えたものも別途用意して使っている。