2017年11月14日火曜日

Adobe Premiere Pro CC 2018でNVENCを使用

 はや11月半ばで今年も残りわずか、先月は、町内の氏神様の神幸祭で神輿担いだり、定年退職した同志の壮行会に出席したり、地区の運動会の行事の会合に出席したり、台風の進路から外れても強風に晒されたり、その他諸々、何かと普通でない週末の連続でブログの更新どころか存在まで忘れかけていました。
  そんな状況でもWindows 10 Fall Creators Update」そして「Adobe」様も「CC2018」へのアップデート、新しいものに食いつく悲しい習性は相変わらずで、早速両方ともアップデートでしましたが、Windowsをクリーンインストールしての「Adobe Creative Cloud 2018」へアップデートでプラグインの「Red Giant」「Boris FX」などは早々と対応していましたが、とりあえずよく使用するエフェクトは逐一使用できているので何とかなりそうです。
 Adobe Premiere Pro CC 2018(以下CC 2018)は相変わらず新機能を追加して完成度を上げてきます。
・複数プロジェクトの同時オープン
 Adobe Premiere Proはシーケンスはメモリーやディスクスペースが許す限り、いくらでも作成でき、手の込んだ作品の制作に個別に作成したシーンを一まとめにして仕上げるネストシーケンスの概念は作品の内容によっては有用で効率化の一役を担う機能です。
 そこで以前作成したプロジェクトのシーケンスの一部を、新たなプロジェクトで使いまわすためには、新プロジェクトを閉じて、過去のプロジェクトから使用したいシーケンスを開いて変更し保存終了し、再びプロジェクトを開いてダイナミックリンクでシーケンスを呼び出して使用していましたが、少しでも編集で楽してやろうと考える筆者にはプロジェクトを閉じたり開いたりする往復作業は面倒に感じていました。

 複数のプロジェクト同時に開いて使いまわしが出来る!、前述の面倒な編集作業が一挙に解決されるのは誠に有難いアップグレードです。

が・・しかし・・機能追加で切り捨てられることもあり前置きが長くなりましたがこれからが本題
・NVENCが使えない!
 有志により開発されたNVENCでレンダリングできるプラグインは爆速のレンダリングと、それなりの画質で非常に重宝していました、こちらの記事にまとめてあるNVENCがAdobe2017以降は使えない仕様に独断で変更されてしまい非常に困惑していましたがAdobe2018も案の定動作しません・・
何とか使えないものだろうかとフォーラムなどで探し回っていたら「Adobe Premiere Pro CC2017」、「Adobe Media Encoder 2017」以降で動作しない原因は「GPUFoundation.dll」が邪魔しているらしくこれにパッチを当てるとAdobe2017以上でNVENCによるレンダリングが可能になる情報がネット上に掲載してありました。
以下の手順を参考にされるのは結構ですがあくまで全て自己責任の範囲でお願いします。

NVENCが使用できるようにインストールの手順を復習とパッチ当ての手順を示すと・・
1.NVENC-exportはこちらのフォーラムで入手し「C:\Program Files\Adobe\Common\Plug-ins\7.0または(6.0)\MediaCore」のフォルダにコピーする。
その手順はダウンロードした「nvenc_export_v112.zip」を解凍すると「external_tools」「sharingcenter」と「Plug-ins\Common」のフォルダの中は
Sandy Bridge 2011年以降のCPUに対応した「nvenc_export_112_avx.prm」
Haswell 2013年以降のCPUに対応した「nvenc_export_112_avx2.prm」
2008年以降のIntel SSE2/SSE3に対応した「nvenc_export_112_sse2.prm」
自分のCPU環境に合わせてのフォルダにコピーします。
コピーの方法は色々ありますがエクスプローラで解凍したプラグインフォルダに移動し必要なファイルを選択し「Ctrl」+「C」でコピーします。

 次に「C:\Program Files\Adobe\Common\Plug-ins\7.0(6.0)\MediaCore」に移動し「Ctrl」+「V」で貼り付けるとアクセスが拒否されますが続行ボタンをクリックして貼り付け以下コーピーの手順は省略します。


2.MP4のコンテナを作成するMP4BOXのインストールは「MP4Box」にチェックを入れて「Next」を押します。

C:\temp\MEGUI\TOOLS\MP4BOX の文字を選択しコピーしておき次のウィンドウで「Ctrl」+「V」で文字を貼り付けインストールします。


3.NERO AACエンコーダを解凍するとの「win32」フォルダに解凍された「neroAacEnc.exe
を「C:\temp\NEROAACENC\win32」のフォルダを作成してコピーします。

4.こちらのサイトから「gpu_patch.bin」を入手し「gpu_patch.exe」に名前を変更し
「C:\Program Files\Adobe\Adobe Media Encoder CC 2018(2017)」
「C:\Program Files\Adobe\Adobe Premiere Pro CC 2018(2017)」
それぞれのフォルダにコピーして「gpu_patch.exe」管理者として実行すればパッチ当ては終了です。


 NVENCになぜこだわるの?答えはレンダリングの速さと、GPUによるハードウエアエンコードでQudaの頃とは比較にならない画質とパラメータの豊富さです。ではどれくらい早いのか?画質はどうなのか?実際にレンダリングの時間を計測してみました。
LUMIX GH5で撮影した映像ソースは
プロファイル  : High 4:2:2@L5.1 HLG
ビットレート  : 150 MbpsーMax: 180 Mbps
解像度: 3,840x2,160 ピクセル
フレームレート : 29.970 fps のクリップを映像トラックにクリップを並べたトラックの上に調整レイヤーを配置し有料のNeumann Films GH5 LUTsの中から適当なLUTを当て3分のクリップのレンダリングに要する時間を測定しました。

・Adobe HEVC(H.265)
 ほぼデフォルトのままでビットレートはVBR7-10Mbps、63フレームごとにキーフレームを入れ音声を192Kbpsに落としてレンダリングしました。

レンダリング中はCPU/GPUともにフル稼働です。

 ログによるレンダリング時間は「エンコード時間 : 00:11:32」となっており実時間の3.8倍でHEVECにしては他のNLEソフト比較したら早いほうだと感じます。
ちなみにVegas Pro 15で同様にLUTエフェクトを使用して「Intel HVEC」で同様の設定をしてレンダリングしたら18分は軽く超えてしまいまい画質も思わしくなかったので取り上げるのは止めておきます。

・NVENC HEVEC(H.265)
設定は様々なパラメータが調整できますがAdobe HEVC(H.265)とほぼ同じに設定しました。

CPUはグラフログを見ると山が高いほうがAdobeの方でNVENCにレンダリングが始まると40%前後で使用率が明らかに低くなっていますがGPUはそれなりに使用しています。

「エンコード時間 : 00:05:46」で実時間の1.9倍でH.265にしてはかなり早いと感じます。
今回は4Kサイズを150 Mbpsから7Mbpsに圧縮したわけでエンコーダの優劣が比較できるのではないかと考え敢えて画面の一部を拡大して比較しました。
圧縮が苦手なシーンの一部を切り取り比較してみると・・

 さすがに、ここまでビットレートを落として静止画にして切り取ると、細かい粗は目立ち、風に揺られる草や木の葉のなども破綻し動画で再生するにはもう少しビットレートが欲しい気がしますが低ビットレートの割にはかなり健闘していると思います。

 以上、NVENCによるレンダリングについて触れましたがHVEC(H.245)は今後の主流となり避けて通れないフォーマットには間違いないと考えています。くどいようですが参考にする場合は全て自己責任でお願いします。

1 件のコメント:

  1. コメント失礼します。
    こちら古い記事なのですが困っていましてコメントさせていただきました。
    PrCS6でGPUが使えなくて困っております。
    GPUはGTX 1060になります。
    サポートファイルの型番追加やオンボードグラフィックの停止もやりましたがGPUは選べるのですがレンダリングの際はCPUを使っております。
    こちらに書かれていることもやってみたのですが、最後のパッチ当てがうまくいきません。
    PrCS6では1060を使用することは無理なのでしょうか?
    古いソフトなのですが助けていただけるととてもうれしいです。

    返信削除