噂のGPUエンコーダー「Badaboom」、ようやく試してみました。
手持ちのPCはCore i7 920(3.7Ghz)にGeForce9600GT搭載。OCした最新CPUと1世代前のソコソコ高性能なGPU。果たしてどっちが高速にエンコード出来るのか、比較してみました。
▲まずはBadaboomトライアル版を入手。現在のバージョンは1.1.1。
Badaboomとは、NVIDIA製グラフィックカード8000番台以降でサポートされるCUDAという技術を利用して、GPUにより様々な動画をH264形式に変換するツールです。
普通にCPUで動画変換を行うより、数倍~20倍前後の高速化が期待できます。
(推奨は8800GT(9800GT)以上。9600GTは推奨スペックに10~20%足りません)
Badaboomの主な特徴
メインプロファイル、CABAC対応。(今後Highプロファイルにも対応予定)
エンコードサイズ:1920X1080まで対応
ビットレート:25Mbpsまで対応
iPhone、YouTube、iPod、PSP、PS3、XBOXなど各種プロファイル付き。
地デジTSファイルなど音声が特殊な動画は、直接変換は出来ない・
体験版は30日又は30回のエンコード制限つき。
半年くらい前に情報収集した時点では、通常版・Pro版に別れていて、通常版ではエンコードプロファイルはBaselineのみ、1280X720までなどの制限があったと記憶してますが、現時点では通常版(29.99ドル)でメインプロファイル&フルHDのまま変換可能となっており、Pro版は存在していないようです。
コイツでウチの環境(GeForce9600GT)でのエンコード速度や画質を評価して、気に入ったら購入するつもり。
ざっくりとしたエンコード速度比較
私の興味は「Core i7と9600GTのBadaboom、果たしてどちらが速いのか。私のよく行うエンコード設定でどちらがキレイに仕上がるか」に尽きますんで、その辺を確かめてみてレポートです。
Badaboom (baseline) | Badaboom (main CABAC on) | Core i7(3.7Ghz) (baseline) | Core i7(3.7Ghz) (main CABAC on) | |
960X540(2Mbps) | 35~39 | 33~37 | 60~63 | 48~53 |
1440X1080(8Mbps) | 20~21 | 19~21 | 70~73 | 20~23 |
▲数字の単位はFPS。
比較対象のCPUエンコードにはMencoderを使用。
ソースは地デジTSファイルをBonTsDemuxでMpeg2-PS形式に変換したもの。
確かに高速化している。しかし・・・
結果はどちらも以前のPCから比較すると恐ろしいまでに高速になっていて、比較以前に大喜び状態です。が、
- CPUエンコ、縮小のLanczosが律速になってるっぽい
- ベースラインプロファイルでは、CPUエンコの方が圧倒的に高速。
- メインプロファイルでCABACを使用した場合、
・Core i7を定格(2.66Ghz)で使用する場合は、多分9600GT+Badaboomが高速。
・Core i7を3.5Ghz~3.7GhzにOCした場合は、ほぼ同速度で変換。
(Mencoderの設定やソース動画によってはHTはおろかマルチスレッドも利かなくなる(2CPU分は利用してくれるが4CPU使わなくなるっぽい)ので、そうなるとBadaboomの方が速い。) - でも地デジソースをBadaboomでエンコしようと思うと、そのままエンコが出来ないので1工程余分な作業が必要。
その他気になったこと
- 現状、BadaboomのQuality指定は微妙。
・Q指定で画質をMAXにしても、Q=26程度の画質にしかならない。
せめてQ=18まで欲しい所
・bitrate指定に比べてエンコ速度が30%くらい落ちる
- SD画質~960X540サイズの動画をbitrate指定でエンコした場合
・Mencoder、FFMpeg、x264などと比較して20~30%増しのビットレートを指定してやらないと、同等画質にならない。
(1440X1080サイズ(リサイズなし)だと、8Mbpsで十分美しい画像が得られる。
Mencoder、FFMpeg、x264などと同等に感じた) - 逆テレシネが微妙。
上手く作動する事もあるが、CMカット以降が判定ミスの連続になったりする。 - インターレース保持の方法が解んない
色々読み漁るけど、現状出来ないっぽい。 - 逆テレシネ(24FPS化)も判定が微妙。
- (個人的には気にならないけど)日本語名のファイル、フォルダには未対応
う~む。何とも微妙。
ここでハイエンドGPUを使ったエンコード比較を行っているブログさんを紹介
最速エンコード カードを探せ!! CUDA vs SpursEngine (QuadroCX RapiHD badaboom GTX295 TMPGEnc FIRECODER PxVC1100 Core i7 MacPro) - SuperPC
▲GTX295で10分のHDV⇒
1920x1080(25M)への変換が13:44。 720X480(5Mbps)への変換が3:11。
ウチで同様の変換テストしてみたら、
1920x1080(25M)への変換が25:12、720X480(5Mbps)への変換は5:33。
9600GTはストリームプロセッサが64、GTX295は240。3倍以上の差が開くと思ったけど、、、そうでも無さそうです?
2009.03.06追記
なんか気になって他にも検証データ探してみて、録画人間の末路さんからもデータ拝借。
1440x1080iを1280x720pに
8600GT 12fps 32SP
9600GT 26fps 64SP
8800GT 41fps 112SP
との事で、ウチで同様のエンコしてみたら
9600GT 27fps。
うむ。こちらは妥当な数字が出ています。
最初のリンク先のHD動画はAVCHDだったのかな(^_^;
はたまた8800GT、9800GTあたりに最適化されて作られているのか?
よく解んないです(´・ω・`)
画質に関しては既に参考に出来るサイトはかなり存在しているのでここでは詳細はパス。
BADABOOM試してみました 映像雑記帳(気の向くまま)/ウェブリブログ
▲上記辺りが参考に出来ると思います。
これから良く行うであろう「地デジ動画を720X480~960X540サイズに縮小して保存」する場合、画質については「CPUエンコ2.5Mbps=Badaboomエンコ3Mbps」と云ったカンジ。
画像を分割してエンコしてるっぽいから仕方ないんだけど、ビットレート20~30%増しにしてCPUエンコと同画質は結構イタイ。3Ghz前後のクアッドコア搭載のPCならば、Badaboomの恩恵は少ないかも。
- お手軽エンコで保存する場合は画質を気にしないのでベースラインでOK
⇒CPUレンダリングでOK - どっちにしろ1工程余分な作業が必要な「映画番組のエンコ」
⇒Badaboomの逆テレシネはまだ判定が微妙
Core i7と9600GTの組み合わせでBadaboom使用の個人的結論
baselineでエンコードする場合は圧倒的にCore i7の方が高速。CABACをONにしたmainプロファイルでも、3.7GhzにオーバークロックしたCore i7の方がやや高速。
P6T DeluxeでPCIE X16-1に9800GT以上を刺すとPCIスロットが2個とも塞がってしまう可能性大。コストパフォーマンス、性能、消費電力のバランス的にも9600GTを選ぶのがベストだと思っていたのですが、CPUにCore i7を積んでいるPCならば、9800GT以上のグラフィックボードを積んでいないと幸せになれそうにないですわ(´Д`;)
現在のウチのPC環境と今回のテストの結果をまとめると
・エンコード速度は同等と考えてOK
・画質は(同じビットレートでは)CPUエンコが目視判断出来るほどキレイ
・エンコの手間は同じか、ややCPUエンコの方が楽
・PCIスロットには現在アナログTVキャプチャボードが刺さっている
・Badaboomもまだまだ未完成
なワケで、2011年7月以降で、その時点でベストなグラボに買い直すのが賢い考え方かも。
Badaboomについては今後のバージョンアップで追加されるHighプロファイルに期待、って所で今回は購入見送りです。