Mac OS X 10.6+OpenCVで使えるcodec一覧とその特徴

Video I/O をQTKitでビルドしたOpenCVでこのページQTMovieのaddImage:forDuration: withAttributes:で使えるコーデック - Yanagi Entertainmentを参考にしながらいろいろなcodecを試してみました。時間があったら他のコーデックでも試してみます。

環境

Mac OS X version 10.6.5
Xcode 3.2.5 64-bit (IDE:1760.0, Core:1763.0, ToolSupport:1758.0)
Macports 1.9.2 for Snow Leopard
ffmpeg未インストール
OpenCV 2.2 rev.4303
Perian 1.2.1
QuickTime Player 10.0 (118)
QuickTime Player 7 7.6.6 (1710) (1756)

codec15種を試した結果をわかりやすいように表にまとめました

[変換元ファイルについて]
コンテナ:5.7MB、MPEG-4 ビデオ、Sony PSPプロファイル、codecID:"MSNV"
ビデオ:VGAサイズ、MPEG-4 Visual、ビットレート=固定、フレームレート=固定、プログレッシブ、不可逆圧縮

項目:スピードはmp4v基準で、あくまでも印象で判断したことを断っておきます。
FOUR_CCとは、codecの種類を示す4レターコードです。

FOUR_CC 使用可否 QTインスペクタ内名称 品質 圧縮スピード データサイズ その他特記事項
"mp4v" MPEG-4 (Perian) (基準) 22.63MB -
"avc1" H.264 高速 12.99MB ビットレート可変
"mjpb" Apple モーションJPEG B 高速 26.25MB ビットレート可変
"mjpa" Apple モーションJPEG A 高速 26.38MB ビットレート可変
"png " Apple PNG 中速 6.73MB ビットレート可変、可逆圧縮
"h263" H.263 高速 13.68MB ビットレート可変、サイズ変更
"mjp2" JPEG 2000 デコーダ 低速 33.68MB ビットレート可変、フレーム落ち発生
"yuv2" Appleコンポーネントビデオ - YUV422 低速 280.08MB -
"dvpp" DVCPRO 低速 65.64MB PAL、インターレース、YUV=4:1:1、サイズ変更
"raw " None 超低速 560.16MB ※ファイル容量と処理時間に注意
"h264" × (H.264) - - - -
"pim1" × (MPEG-1) - - - -
"mjpg" × (Motion-JPEG) - - - -
"y420" × (YUV420?) - - - -
"dib " × (非圧縮) - - - -