Premiere Proのエンコードエラー

Premiere Proのバージョンが14になりCUDAをサポート。すべてのGPUで利用できるものではないが、NVIDIAの高性能GPUなどでレンダリングやエンコードの時間が大幅に短縮されました。

※エンコードとは、高解像な素材で編集した動画などを、他の形式へ変換して書き出すことです。たとえばデジタル一眼で撮影した高画質動画をYouTube用に変換して出力するなどです。

これまでは高性能なGPUを搭載したパソコンでエンコードしても、ほぼCPUのみでエンコードを行っていたため、稼働状態を見るとCPUはスレッドも含めて100%近くを維持し続けるものの、GPUは時々4、5%程度になるくらい。GPUはほとんど使われていなかったのです。

CUDAへの対応

Premiere Proはバージョン14になって「CUDA(クーダ)」に対応しました。CUDAはNVIDIAが開発・提供しているGPU並列処理のこと。

これまでGPUでは一部の特定のソフトウェアの処理に適した命令セットを持たせて高速に動作させることもできていましたが、一般的なGPUではそのような高速処理をGPU側にさせることはできませんでした。一般的に普及しているGPUは3D機能などかなり高性能になってはいるものの、ゲームなどでしか恩恵を受けるられる機会がなかったのが現実でした。

それがCUDAに対応したソフトウェアでは積極的にGPUを使用し、CPUのみで処理をさせるよりも大幅に時間短縮が可能になりました。グラフィックのプロ用のモデルでなくとも、GeForceなどの一般的に広く普及しているGPUでもこの恩恵に授かることができるようになりました。GPUの種類や使用ソフト、行う処理にもよりますが、その速度差は、時間の差は圧倒的なものになっています。

CUDA利用時は左下のGPUの使用率が高くなっているのがわかる。高いときには96%など100%近い数値となる。一方CPUの全コアの使用率が80%程度に下がり、スレッドの使用はかなり抑えられている。

ワタシの環境ではNVIDIAのGeForce RTX2080 8GB を使用しており、CUDA非使用の状態よりも処理時間は1/3に。重たい処理を含むものでは1/5もの時間短縮ができています。圧倒的な差です。4K20分の動画のエンコードがわずか6分30秒で終わります。20程度ならまだいい方で、4Kで2時間、3時間といった長編動画では一晩放置しても終わらないことがあったものが、40分程度で終わってしまいます。これは圧倒的。作業効率も大きく変わります。

レンダリング・エンコードエラー

バージョンによる変化

この圧倒的な速度差をみせるPremiere ProのCUDA対応ですが、これまで以上にレンダリング、またはエンコード時のエラーを生み出しています。

これは非対応のGPUを使用している場合もありますが、現状はまだバグもあるように思われます。Premiere Proの14.0~14.1ではワタシの環境でもなんの調整もしていない動画でエラーばかり。何度かやり直すと完了できることもありましたが、エラーが出るので待ち時間に放置ができないし、何度もやり直すならCUDA非使用の状態とかかる時間は変わらない、という状況でした。ただ、だんだんバージョンが上がり14.2の後半ともなると通常の動画でもエラーは出なくなりました。

重たい処理ではエラーが残る

キャプションを入れたり他の動画や画像を差し込む動画で、動画そのものにエフェクトをある程度かけてもまったく問題は無かったのですが、先日ちょっと重たい処理を乗せた動画をエンコードすると再びエラーが発生。試しに事前にレンダリングをしてみると、エラー表示はないのに処理が完全に停止。GPUもCPUも処理を行っていない状態でした。エンコードでは「エラー3」を吐いて停止。これは頂けません。

Media Encoderがエンコード中にエラーコード3で停止。

CPUやGPUの動作グラフで動きを見ていると、最初はちゃんと働いています。あるブロックが終わると次のブロックへ、といった動きも見て取れます。ただブロック途中でフル稼働しそれが長時間続いたところで止まってエラーとなります。

レンダリング中エラーでは、エラー画面は出ないがこの画面のまま処理は停止。フリーズはしていないが、CPUなどの使用率は地べたに張り付いている状態。

詳しいことは分かりませんがどうもメモリーが臭い感じです。PC本体のメモリーは余裕がありますし安定もしていますが、GPU側のメモリーでのオーバーフローや、データの橋渡しがうまくいっていないような動作に見えました。
このあたりも今後のバージョンで対策されていくと思われますが、現状はGPUの能力やメモリー搭載量等によって発生しやすい環境もあるかもしれません。

エラーを避ける対策

プロジェクトをCUDA未使用に設定

これはCUDAを利用した高速処理の恩恵を受けられない方法になりますが、とりあえずCUDAをオフにして従来通りのCPUのみの処理にしてやるとワタシの環境ではエラーはまったく出なくなります。ただし、従来と同じくレンダリングやエンコードに数時間も待たされることになります。まぁ、これまで通りでその他の最新機能を使う、という場合はこれが多くの場合解決策になると思われます。

CUDA利用を停止するには、[ファイル]メニュー→[プロジェクト設定]→[一般]のタブを開きます。

開いた[プロジェクト設定]ウィンドウの[ビデオレンダリングおよび再生]の[レンダラー]の項目を[Mercury Playback Engine – ソフトウェア処理]に切り替えます。


これはプロジェクト毎に設定します。これだけでもエンコードを含めて問題なくなるものが多くあります。これでも発生する場合は以下を試します。

書き出しの設定を変える

上記だけでエラーが消える場合もありますが、動画や環境によってはエラーを出す場合があります。その場合はこちらを試しますが、これもGPUを使用せずエンコード時間がかかる以前のバージョンと同じような状態になります。エンコード時間はかかりますが、これで対応できるようになる場合があります。

通常の書き出し作業と同じように[書き出し設定]を開き、中段あたりの項目を[ビデオ]にし、[エンコード設定]の[パフォーマンス]を[ソフトウェアエンコーディング]に切り替えてから書き出します。

処理内容をシンプルに

上記の2つはどうしてもダメな場合に試してみるものですが、その前にその動画の処理を見直してみましょう。ワタシが試した状況では、まったく同じような動画でも調整レイヤーを使って全編に調整をかけるなど、重たい処理をかけた場合にのみエラーが発生します。
たとえば別の人が切り貼り編集を終えたデータを受け取り、こちらで全編に調整レイヤーを作成し、Lumetriカラーを適用し全体に一律の明るさや色の変更を加えた場合、当方ではあまり長くない動画でもエラーとなりました。

ただLumetriカラーを使用すること自体がエラーの原因ではなく、調整レイヤーとして重ねてしまうとダメ、というものでした。
ですので調整レイヤーを削除し、それどれのクリップのエフェクトとしてLumetriカラーを使用すれば問題なくレンダリングもエンコードもエラーなく処理を終えました。

クリップ上のエフェクトでできる処理を調整レイヤーで重ねるだけで処理は重くなる。せっかくの機能ではあるが・・・

できるだけ処理をシンプルにすること、そしてCPUの使用率が高い処理をできるだけ混ぜないようにすることが有効なようです。
これでダメなら上の2つの方法を試してみるとよいでしょう。

バージョン13に戻す

最終手段ですが、どうやってもエラーが消えない場合で、これまでは問題なく使用できていたという場合は、バージョンを13に戻してみるといいでしょう。

[Creative Cloud Desktop]のウィンドウを開き、[すべてのアプリ]のリストを開いてPremiere Proの項目の一番右側の[・・・]をクリックすると[他のバージョン]があるのでクリックします。

過去のバージョンのリストが表示されるので[13.1.5]など、バージョン13を選んでインストールすれば旧バージョンの使用ができます。

まとめ

ということで、動画処理でのエラーはいろいろ試してみるだけでも時間がかかるので厄介なものですが、Premiere Proはバージョンが上がる毎にエラーの頻度は減ってきているので、対応環境であれば今後はエラーも減ってくると思われます。それまでは上記のような対応を行ってしのぐのが良いでしょう。

Computer
SUWA CHANNEL WEB

コメント

タイトルとURLをコピーしました