CPU以上に並列処理が得意なGPUを使うと爆速でエンコードできます。無料エンコードソフト「A's Video Converter」は、Intelの「Quick Sync Video(QSV)」、NVIDIAの「NVENC」、AMDの「Video Codec Engine(VCE)」に対応し、H.264よりも高圧縮なH.265/HEVCのGPUエンコードにも対応するとのことなので、フルHDムービーや4Kムービーを爆速エンコードしてみて、GPUエンコードの威力を確かめてみました。

A's Video Converter

http://bluesky23.yukishigure.com/AsVideoConv.html



今回は、Windows 10を使用する以下のマシンでA's Video Converterを使って「VCE」によるハードウェアH.265/H.264エンコードを行います。

・CPU:AMD Ryzen 7 1700

・マザーボード:MSI B350 TOMAHAWK

・グラフィックボード:Radeon RX460

◆A's Video Converterのインストール・設定

A's Video Converterをダウンロードします。上記公式サイトのページ下部で自分の環境に合うインストーラーをクリックして、デスクトップなど好きな場所に保存します。



ダウンロードしたインストーラーを実行して、「同意する」にチェックを入れて、「次へ」をクリック。



「次へ」をクリック。



「次へ」をクリック。



「次へ」をクリック。



「インストール」をクリック。



「完了」をクリックすると、A's Video Converterが起動します。



これがA's Video Converterのメイン画面。非常にシンプルです。



再びA's Video Converter公式サイトに戻って、「MPEG2-TSファイルの変換方法」をクリック。



MPEG2-TSファイルのエンコードのためにスプリッタを導入します。「まるも製作所」から、「Marumo ISDB Splitter」をダウンロードします。「まるも製作所」をクリック。



「Marumo ISDB Splitter」は複数のバージョンがありますが、今回は以下のリンク先から、「ver. 0.2.26」をダウンロードしました。

Diary 2015-7

上記ページのMarumo ISDB Splitterver 0.2.26の「URI」をクリック。



LZH形式のファイルをデスクトップなど、好きな場所に保存します。



再びA's Video Converterのメイン画面に戻って、「入力」→「ファイルを指定」の順にクリック。



ダウンロードしたMarumo ISDB SplitterのLZHファイルを指定します。



「Completed」と表示されればインストール成功。「OK」をクリックしてポップアップウインドウを閉じます。



次に、様々なコンテナやビデオ・オーディオフォーマットおよびハードウェアデコードに対応している「LAV Filters」を導入しておきます。A's Video Converter公式サイトに戻って、「LAV Filtersの導入方法」をクリック。



「LAV FiltersのZIP版をダウンロードして下さい。」をクリック。



LAV FiltersのZIP形式ファイルをクリックして、デスクトップなど好きな場所にZIPファイルを保存します。



あとはMarumo ISDB Splitterと同様の方法でLAV FiltersをインストールすればGPUエンコードの準備は完了です。

◆VCEを使ったGPUエンコード

まずは、AMDのGPUハードウェアエンコード「VCE」を試してみます。「設定」→「トランスコード設定」の順にクリック。



「デコード」タブに切り替えて、「スプリッタ」を「Marumo ISDB Splitter」に指定します。



デコードタブで、「ハードウェアデコードを有効にする」にチェックを入れます。



ビデオデコーダは好みのものを選べばOK。今回は、インストールした「LAV Video Decoder」にしました。



オーディオデコーダもインストールした「LAV Video Decoder」を指定。



あとは、「ビデオエンコード」タブの「エンコーダ」を、好きなものに変更すれば準備は完了。まずは、H.264でVCEエンコードを試してみます。



メイン画面の「入力」→「ファイルを指定」の順にクリックして、エンコードしたいムービーファイルを指定します。なお、ファイルをメイン画面内にドラッグ&ドロップして指定することもでき、複数のファイルを追加することも可能です。



ファイルが登録されたのを確認して、「開始」をクリックすればVCEエンコードが始まります。



なお、デフォルト状態では出力先はエンコード対象ファイルと同じフォルダですが、「出力」→「変更」から、出力先を変更することも可能です。



フルHD(1920×1080)解像度のMPEG2-TSファイルをH.264でエンコードしたところ、100fpsを超える速度でエンコードできました。



ちなみにタスクマネージャーを見ると、CPU使用率は10%未満。Ryzen 7 1700を3.0GHz(コア電圧1.05V)の設定でソフトウェアエンコードするとシステム全体の電力をワットチェッカーで測定すると100W程度ですが、A's Video Converterを使ってGPUエンコードすると電力は60W程度と、40%近い消費電力減となりました。



約1時間40分のムービーファイルが56分でエンコードできました。ファイルサイズも元のMPEG2-TSが約23GBだったのに対してH.264でエンコードしたMP4ファイルは約4GBと大幅にサイズダウンできました。



◆4Kムービーのエンコード

A's Video Converterは4K(3840×2160)解像度のムービーのGPUエンコードも可能です。Ryzen7 1700+RX460でH.265(ピークVBR、最大ビットレート8000kbps、目標ビットレート6000kbps)で、2分25秒の4K・30fpsムービー(約1.8GB)をエンコードすると速度が約20fpsしか出ませんでした。元データが4Kとはいえ、GPUエンコードのVCEにしては遅めのエンコード速度です。さらに出力されたファイルは約65MBと極めて小さな容量で、画質もブロックノイズが多い低品質のムービーになってしまいました。



次に、NVIDIAのGeForce GTX 1080を使って「NVENC」も試してみました。使ったマシンの構成は以下の通りです。なお、A's Video ConverterでNVENCを使えるのはWindows 10のみです。

・CPU:Intel Core i7-6800K

・マザーボード:ASUS X99-A II

・グラフィックボード:GeForce GTX 1080

同じスプリッタ、デコーダ、ビットレートで先ほどと同じ4KムービーをNVENCエンコードすると速度は約90fpsと爆速。出来たムービーは約100MBでブロックノイズが少なく、サイズなりの画質になりました。



なお、GTX 1080を使ったNVENCで、34秒の4K60fpsムービー(約410MB)をH.265で爆速エンコードする様子は、以下のムービーで確認できます。

A's Video Converterで4K60fps動画をGTX1080のNVENCでH.265動画に超高速エンコードする - YouTube

元ムービーが410MBに対して、出来上がったMP4ムービーは21MBと20倍近い圧縮率にもかかわらず、画質は大きく劣化していません。さらに4Kムービーを映像時間よりも短い時間でH.265エンコードできるNVENCは、CPUを使ったソフトウェアエンコードとは比較にならない速度となりました。



フルHD解像度のムービーのエンコードでは、VCE、NVENCともに良好な画質でエンコード速度も満足できるものでしたが、4Kムービーに関してはNVENCが速度・画質ともにVCEを上回るという結果となりました。VCEはVBRではビットレートに比べて出力されるファイルサイズが小さく、ビットレートをうまく振り分けられていないように思われたので、CBRに変更すると画質も想定通りの良好なものが得られました。

もちろんマシン構成やGPUのグレード自体が大きく異なるため優劣の判断は難しいのですが、記事作成時点ではA's Video ConverterはVCEよりもNVENCの方が成熟度が高いという印象を受けました。ただし、フルHD解像度ではVCEは速度・画質ともに不満のないものなので、今後、ソフトウェアやGPUドライバーの熟成が進めばVCEの4Kムービーエンコードでも速度・画質を大いに期待できそうです。

A's Video Converterはムービー編集の機能はなく、エンコード設定の幅も少なめですが、GPUエンコードの速度面での威力を遺憾なく発揮してくれる無料ソフトなので、対応グラフィック機能を搭載する場合は、大量にたまったムービーを一気に高速エンコードする用途でとてつもなく便利なソフトと言えます。