TMPGEnc Video Mastering Works 5 体験版 part3
TMPGEnc Video Mastering Works 5 体験版でエンコード実験。
とりあえず、速度とか計測してみて、x264本家と比べてみる。
とりあえず、速度とか計測してみて、x264本家と比べてみる。
エンコード速度の比較を
・avisynth + x264.exe
・Aviutl + x264guiEx + x264.exe
・TMPEGEnc VMW 5
でやってみる。
x264のオプションをそろえる必要がある。
TMPEGenc VMW 5のオプション(x264)
映像設定
クリックで拡大
いちいちx264の詳細設定を指定したくないときは「パフォーマンス」で変更するといい。ようはx264の--presetオプションであり、詳細設定タブの部分はある程度適切に設定される。
x264のパラメータを設定していく。
量子化の設定。
量子化行列のあたりは詳しくないので、とりあえず--cqm flatになるように。
あとはTMPEGEncでの設定に合わせるように、他のエンコード手段も設定する。
x264のオプション(コマンドライン)
--preset slow --crf 21 --aq-strength 0 --qcomp 0.7 --qpmax 45 --qpstep 12 --scenecut 60 --keyint 300 --slices 1 --trellis 2 --no-fast-pskip --no-dct-decimate --sar 1:1 --colormatrix bt709 --colorprim bt709 --transfer bt709 --videoformat ntsc --vbv-maxrate 25000 --vbv-bufsize 24985 --nal-hrd vbr
x264のオプション(x264guiEx)
やっぱ楽だわ。慣れてて、設定の場所覚えてるし。
seraphy氏が設定画面でなんのオプション名がポップアップするようにしてくれているためわかりやすい。
で追加でコマンド欄に--vbv-maxrate 25000 --vbv-bufsize 24985 --nal-hrd vbrを追加。
これでほぼ同じ設定を再現できたと思う。
こんな感じの設定で、
比較するのは
・Avisynth 64bit + x264r1834 64bit
・Avisynth 32bit + x264r1834 32bit
・Aviutl + x264guiEx + x264r1834 64bit
・Aviutl + x264guiEx + x264r1834 32bit
・TMPEGenc VMW 5.0 x264エンコーダ
もちろん、AvisynthもAviutlもTVMW5もフィルタはなし。
Aviutlは0.99i8。
入力データ
解像度 : 1280x720p
fps : 30.000fps
コーデック : UtVideo (ULY0) x86/x64ともにあり
フレーム数 : 3051 frame (約 1分42秒)
音声 : なし
その他 : アニメ絵
AvisynthではAVISourceを使い、pixel_typeにはYV12を指定した。
x264.exe は http://x264.nl/のバイナリを使用、r1834。
環境
OS : Win7 64bit
CPU : Xeon W3680 (6C/12T, L3=12MB) @ 4014MHz (Core i系)
RAM : 12GB
で、速度実験の結果は以下の通り。
画質は見た目、ほぼおんなじ。
速度
TMPEGEnc VMW 5は最初に準備しています…って出て、何秒か待つので、その時間も載せてある。
ビットレート
よく考えると、体験版は「TMPEGEnc Video Mastering Works 5 Trial」って最初に焼きこむので、まったく同じ画像をエンコードしたことになってない…焼きこんだ分遅くなることと容量の増加は避けられないので厳密には比較になってない。
↑すかしで焼きこまれる。
この焼きこみによる速度の低下がどのくらいかはわからないので、何とも言えないが、32bitの本家x264と比べてエンコード速度にあまり差はないよということはわかる。
ただ、64bitx264には引き離されている。
64bit対応しておくれ!まあ、TMPEGEncは入力・出力・フィルタ・GPGPU(CUDA)といろいろあるので、難しいとは思うが。
実験によって言えるのはこのぐらいかな。
実際のエンコードでは、TVMW5なり、Aviutlなり、avisynthなりで動画にフィルタをかけていくぶん、エンコード速度は落ちる。TMPEGEncでは、フィルタリングの部分にCUDAを使うことができる(はず)。GPUで処理すれば、そのぶんCPUに余力が出て、エンコードが速く進むことが期待できる。AviutlはそのほとんどがCPUによるフィルタだし、avisynthもGPGPU対応のフィルタは一部でしかない。その点で、多くのフィルタがGPUで処理させることのできるTVMW5は有利で、フィルタをかけたりする実際のエンコードでは速いんじゃないだろうか。(フィルタの種類や性能が違うので比較は難しいが)
フィルタの処理をGPUで行い、x264でエンコードするのは理想の形のひとつ。それを実現したTVMW5はすごい。
あと、TVMW5はIntel Media SDK というものに対応し、Intelの次期CPU Sandy Bridgeに搭載される(といわれている)ハードウェアエンコーダに対応するらしい。なんか5倍速くなるらしい。ほんまかいな。
だけど発売前のCPUに対応というのはすごいな。
さらにNVIDIAのGPU使ってCUDAでH.264エンコードもできるという。
だが…ハードウェアエンコーダってだいたい速いけど画質の割に圧縮率が低かったりするんで、あんま期待してないっていうかSandyBridge買う予定ないし、NVIDIAのGPUも買う予定ないorz
いや待て、買おうかな…
いやいや…落ち着け私、散財するな……気の迷いだ…
なんだかんだいってAviutl使うんだから買ってもしょうがないだろ…
前も書いたが、Aviutlで好きなフィルタってのが多すぎる。バンディング低減とか。
次はx264のオプションについてまとめてみようかな…
・avisynth + x264.exe
・Aviutl + x264guiEx + x264.exe
・TMPEGEnc VMW 5
でやってみる。
x264のオプションをそろえる必要がある。
TMPEGenc VMW 5のオプション(x264)
映像設定
クリックで拡大
いちいちx264の詳細設定を指定したくないときは「パフォーマンス」で変更するといい。ようはx264の--presetオプションであり、詳細設定タブの部分はある程度適切に設定される。
x264のパラメータを設定していく。
量子化の設定。
量子化行列のあたりは詳しくないので、とりあえず--cqm flatになるように。
あとはTMPEGEncでの設定に合わせるように、他のエンコード手段も設定する。
x264のオプション(コマンドライン)
--preset slow --crf 21 --aq-strength 0 --qcomp 0.7 --qpmax 45 --qpstep 12 --scenecut 60 --keyint 300 --slices 1 --trellis 2 --no-fast-pskip --no-dct-decimate --sar 1:1 --colormatrix bt709 --colorprim bt709 --transfer bt709 --videoformat ntsc --vbv-maxrate 25000 --vbv-bufsize 24985 --nal-hrd vbr
x264のオプション(x264guiEx)
やっぱ楽だわ。慣れてて、設定の場所覚えてるし。
seraphy氏が設定画面でなんのオプション名がポップアップするようにしてくれているためわかりやすい。
で追加でコマンド欄に--vbv-maxrate 25000 --vbv-bufsize 24985 --nal-hrd vbrを追加。
これでほぼ同じ設定を再現できたと思う。
こんな感じの設定で、
比較するのは
・Avisynth 64bit + x264r1834 64bit
・Avisynth 32bit + x264r1834 32bit
・Aviutl + x264guiEx + x264r1834 64bit
・Aviutl + x264guiEx + x264r1834 32bit
・TMPEGenc VMW 5.0 x264エンコーダ
もちろん、AvisynthもAviutlもTVMW5もフィルタはなし。
Aviutlは0.99i8。
入力データ
解像度 : 1280x720p
fps : 30.000fps
コーデック : UtVideo (ULY0) x86/x64ともにあり
フレーム数 : 3051 frame (約 1分42秒)
音声 : なし
その他 : アニメ絵
AvisynthではAVISourceを使い、pixel_typeにはYV12を指定した。
x264.exe は http://x264.nl/のバイナリを使用、r1834。
環境
OS : Win7 64bit
CPU : Xeon W3680 (6C/12T, L3=12MB) @ 4014MHz (Core i系)
RAM : 12GB
で、速度実験の結果は以下の通り。
画質は見た目、ほぼおんなじ。
速度
TMPEGEnc VMW 5は最初に準備しています…って出て、何秒か待つので、その時間も載せてある。
ビットレート
よく考えると、体験版は「TMPEGEnc Video Mastering Works 5 Trial」って最初に焼きこむので、まったく同じ画像をエンコードしたことになってない…焼きこんだ分遅くなることと容量の増加は避けられないので厳密には比較になってない。
↑すかしで焼きこまれる。
この焼きこみによる速度の低下がどのくらいかはわからないので、何とも言えないが、32bitの本家x264と比べてエンコード速度にあまり差はないよということはわかる。
ただ、64bitx264には引き離されている。
64bit対応しておくれ!まあ、TMPEGEncは入力・出力・フィルタ・GPGPU(CUDA)といろいろあるので、難しいとは思うが。
実験によって言えるのはこのぐらいかな。
実際のエンコードでは、TVMW5なり、Aviutlなり、avisynthなりで動画にフィルタをかけていくぶん、エンコード速度は落ちる。TMPEGEncでは、フィルタリングの部分にCUDAを使うことができる(はず)。GPUで処理すれば、そのぶんCPUに余力が出て、エンコードが速く進むことが期待できる。AviutlはそのほとんどがCPUによるフィルタだし、avisynthもGPGPU対応のフィルタは一部でしかない。その点で、多くのフィルタがGPUで処理させることのできるTVMW5は有利で、フィルタをかけたりする実際のエンコードでは速いんじゃないだろうか。(フィルタの種類や性能が違うので比較は難しいが)
フィルタの処理をGPUで行い、x264でエンコードするのは理想の形のひとつ。それを実現したTVMW5はすごい。
あと、TVMW5はIntel Media SDK というものに対応し、Intelの次期CPU Sandy Bridgeに搭載される(といわれている)ハードウェアエンコーダに対応するらしい。なんか5倍速くなるらしい。ほんまかいな。
だけど発売前のCPUに対応というのはすごいな。
さらにNVIDIAのGPU使ってCUDAでH.264エンコードもできるという。
だが…ハードウェアエンコーダってだいたい速いけど画質の割に圧縮率が低かったりするんで、あんま期待してないっていうかSandyBridge買う予定ないし、NVIDIAのGPUも買う予定ないorz
いや待て、買おうかな…
いやいや…落ち着け私、散財するな……気の迷いだ…
なんだかんだいってAviutl使うんだから買ってもしょうがないだろ…
前も書いたが、Aviutlで好きなフィルタってのが多すぎる。バンディング低減とか。
次はx264のオプションについてまとめてみようかな…