Adobe製品で本来使えないコーデック、x264とNVEncを使う方法

動画編集ソフトウェアの王者であるAdobe CC製品ですが、AviUtlやAviSynthなどに慣れ親しんだ方にとっては不便なことに、x264やNVEncといった定番の流行コーデックが使用できません。これを使えるようにしてみます。

スポンサーリンク

Adobe CC製品で流行りのコーデックが使えない

Adobe CC製品については以下の記事を参照してください。

AviUtlなど一般層に浸透している動画編集ソフトウェアからPremiere ProなどのAdobe CC製品に乗り換えると、不便に感じる点もいくつかあります。UIの煩雑さや起動が重いこともそうですが、もっと重要なのはエンコード時に見慣れたコーデックを使えないことでしょう。

具体的には「えっ、x264使えないの?」とか「今どきNVEnc使えないの?」と思う人は多いと思います。

実際デフォルトの状態ではどちらも使用できないのですが、共に解決策はあります。

Adobe CC製品でx264を使う

x264については、以下の製品を導入すれば使用できるようになります。

こちらをインストールすると、書き出し時の形式に「TMPGEnc H.264」が追加されます。設定内容はx264のものになりますが、こちらはTMPGEnc Video Mastering Worksに似たUIとなり、AviUtlとはかなり異なります。

Premiere Proから直接x264でエンコードできるというのは、かなり大きいですね。

Adobe CC製品でNVEncを使う

NVEncは、NVIDIAのGeForceシリーズでのみ利用できるハードウェアエンコード機能で、x264やx265といったソフトウェアエンコードに比べ、爆速でエンコードできます。

かつてはハードウェアエンコードというと「確かに速いが設定項目が少なく画質も悪い」という印象でした。IntelのQSVもそうでした。どうも元気のないボヤっとした画像になり、ノイズも目立っていました。

しかしNVEncは、H.264 / AVCではともかくH.265 / HEVCでエンコードすると、あのx264によるエンコード結果を場合によっては凌ぐことすらあります。そもそもビットレートを適切に設定すれば普通に高画質です。

実写に近いゲーム画面のキャプチャ結果をエンコードしたものを見ると、パッと見ではソフトウェアエンコードとの差がわからないほどです。大量の細かい物が高速で拡散するようなシーンを少なめのビットレートでエンコードした場合、細部を拡大するとNVEnc(HEVC)の方が明らかに勝っている例もありました。

本題、nvenc_export

NVEncについては、有志により開発されたnvenc_exportというプラグインによって使用可能になります。

こちらをインストールすると、書き出し時の形式に「NVENC_export ~」が追加されます。x264に慣れていると最初は面食らう設定内容ですが、「自分の定番設定」を見つけるまでの我慢です。

最新版では、条件を満たしていればH.265 / HEVCの出力にも対応します。条件は簡単で、ビデオカードがNVIDIA GeForce GTX 900番台以降であることです。

近年まではGeForce GTX 970やGTX 1050 Tiが人気でしたが、最近はコストパフォーマンスの高いGeForce GTX 1060が注目を集めています。

GTX 1060にはメモリが6GBではなく3GBの廉価版も存在します。シェーダー数など細かい差もありますが、用途次第です。ヘビーなゲーム用途でなければメモリなどの差はあまり出ませんし、NVEncエンコードに問題はありません。ミドルレンジの製品としては十分にパワフルと言えます。

私はNVEnc(HEVC)によるハードウェアエンコードに魅力を感じ、GeForce GTX 660から上記GTX 1060の3MBに乗り換えました。結果には大変満足しています。

まとめ

x264やNVEncは、エンコーダーの世界ではスタンダードな存在です。もちろんx265やQSVもそうですが、画質と速度のバランスという面では一歩劣る感があります。

x264の方は有償なのが悲しいところですが、NVEncが利用できない環境では存在価値大です。Adobe CC製品で直接エンコードできるようになるのは大きいですね。

NVEncの方は無償です。特にHEVCが使用できる環境であれば、ぜひx264と同程度のビットレートで試してみてください。「あれ、ハードエンコもイケるじゃん!」と思われること請け合いです。爆速ですし。

私も最終的なエンコードはx264で行いたかったので、可逆圧縮(非劣化 / ファイルサイズ巨大)のコーデックで中間ファイルとしてエンコードし、x264コマンドやAviUtlなどに渡していましたが、直接エンコードできれば随分楽になります。特にNVEncには助けられており、最近はすべてHEVCで保存するようにしています。