umi_umiの動画作成術! >
エンコード比較(x264 vs CUDA)
【エンコード比較(x264 vs CUDA)】
可逆圧縮(
huffyuv)された動画を
H264動画へエンコードする時、
x264と
CUDAコーディックを使用した場合での各種比較を行ってみました
テスト環境
【使用ソフト】
MediaCoder(x64 0.8.1ビルド5175)
【OS】Windows7 Professional 64bit
【GPU】GeForce GTS450(ドライバ:GeForce275.33)
【CPU】Core2Quad Q9450@3.6GHz
【メモリ】DDR2 900MHz(5-5-5-15)
【元動画】
解像度:1280×720p
使用コーディック:huffyuv
フレームレート:59.94FPS
ビットレート:310〜400Mbps
ファイルサイズ:1本のファイルサイズ約35GB〜40GB
※ エンコード時間の比較は3本のファイルをエンコードした時間を計測
エンコード比較
時間とCPU使用率
上記(テスト環境)でも書きましたが、エンコード時間の計測はエンコード元の動画【720p(59.94FPS)huffyuv】3本の連続エンコードした時の時間を計ったものです。
|
x264 |
CUDA |
ビットレート |
1000Kbps(1Mbps) |
16000Kbps(16Mbps) |
1000Kbps(1Mbps) |
16000Kbps(16Mbps) |
時間 |
4488sec(01:14:48) |
7113sec(01:58:32) |
4582sec(01:16:22) |
4959sec(01:22:39) |
CPU使用率 |
70〜80% |
94〜100% |
35〜45% |
35〜45% |
HDD書込み 速度 |
26〜39MB/s |
6〜18MB/s |
28〜40MB/s |
27〜38MB/s |
MediaCoder CPU使用率 |
20〜22% |
13〜17% |
20〜23% |
18〜22% |
コーディック CPU使用率 |
36〜39% |
78〜81% |
8〜11% |
15〜18% |
ファイルサイズ |
132MB |
1.76GB |
132MB |
1.78GB |
実行中画像 |
|
|
|
|
完了時画像 |
|
|
|
|
※ 画像はクリックすると大きく表示されます
※ 各種CPU使用率・HDD書込み速度は画像の右側にありますがジェットを参照下さい
本ページ下記の方で、画質を含めた簡単な比較の感想を述べています
また、PCへエンコード以外の負荷はかけませんでしたが、実際に使ってますと負荷を掛かた時の方がMediaCoder&コーディックプロセスのCPU使用率が高くなってエンコード処理が早く終ったりもしていますw
今回の実験が全てでは無いと思いますが同一環境による比較テストなので対比については問題無いかと思っています。
画質
各エンコード(+元動画)毎に同一シーンをスクリーンショットを撮り画面全体と画像の一部を4倍に伸ばしてみて画質の比較をしてみました。
まずは、画面いっぱいを見比べてみます。
◆元動画(可逆圧縮huffyuv/ビットレート310Mbps)
※ 画像はクリックすると大きく表示されます
◆CUDA(ビットレート1Mbps)
※ 画像はクリックすると大きく表示されます
◆CUDA(ビットレート16Mbps)
※ 画像はクリックすると大きく表示されます
◆x264(ビットレート1Mbps)
※ 画像はクリックすると大きく表示されます
◆x264(ビットレート16Mbps)
※ 画像はクリックすると大きく表示されます
次に一部分を4倍に引き伸ばした画像です。
◆元動画(可逆圧縮huffyuv/ビットレート310Mbps)
※ 画像はクリックすると大きく表示されます
◆CUDA(ビットレート1Mbps)
※ 画像はクリックすると大きく表示されます
◆CUDA(ビットレート16Mbps)
※ 画像はクリックすると大きく表示されます
◆x264(ビットレート1Mbps)
※ 画像はクリックすると大きく表示されます
◆x264(ビットレート16Mbps)
※ 画像はクリックすると大きく表示されます
CUDA(1MBps)の画像は・・・字も潰れてしまって読めませんw
比較まとめ
勝手ながら比較してみた感想をツラツラと。。。...φ(-. - )。
- 低ビットレートではCUDAの良さの1つ”エンコード速度の速さ”が生きていない
- 高ビットレートほどエンコードにかかる時間に差がでる
- x264に比べCUDAのCPUへの負担は予想通りでかなり低く、高ビットレートほど効果大
- 個人的見解ですがながら画質は、、、
huffyuv>>x264(16Mbps)≧CUDA(16Mbps)>>>x264(1Mbps)>>>>CUDA(1Mbps)
だと思います。が、16Mbpsの方はよぉぉ〜〜く見比べないと私に違いは解りませんw
逆に1Mbpsでは、画質の差が如実に表れています。
- 低ビットレート(1Mbps程度)では、画質差の大きさに比べエンコ時間は変わらないのでx264の一択
- 高ビットレート(16Mbp程度)では、エンコ時間と画質とのトレードオフの関係ではありますが、エンコード時間の差ほど画質の差は感じません。各環境や目的によって選択すれば良いかと思います。
補足
TMPGEnc Video Mastering Work5でもエンコード比較してみましたw
画質の比較はYouTubeへ飛んで720pにて比較してみて下さい
| x264 |
CUDA |
ビットレート |
4000kbps ※ 通常は16000〜20000kbpsでエンコ・動画Upしています。 |
エンコード時間 |
03:49 |
02:01 |
実動画 |
|
|
※ 画像はクリックすると大きく表示されます
1分23秒(01:23)の動画を作成しています
もぉ〜なんか2倍近く時間が違いますw
画質に拘りの無い方にはお勧めですネ