注目キーワード
  1. 無償版
  2. 書籍
  3. GPU
  4. Windows

レンダー(エンコード)すると、書き出しに非常に時間がかかる、または、失敗する

Question

デリバーページでレンダー(エンコード)で書き出す際に、途中でDaVinci Resolveが停止したり、非常に時間がかかる場合や、失敗する場合があります。何か対策はありますか?
メモリ利用量を確認すると、メモリ不足により発生しているようです。

Answer

レンダー(エンコード)でDaVinci Resolveが停止したり、非常に時間がかかる場合の原因はいくつか考えられます。

今回はメモリ不足のようだとのことですので、メモリ使用量を減らすことで改善する方法を回答いたします。
メモリ不足以外が原因で、時間がかかる場合や、失敗する場合もあります。それについては将来的に別途記事の作成を検討しています。

レンダー中、エンコード中にメモリ不足になる理由

レンダー(エンコード)中は、エフェクトやFusionの機能を利用した演算をするのと並行して、エンコード処理実施しています。
このため、同じ解像度、同じフレームレート、同じフォーマットに書き出した場合であっても、書き出すタイムラインで利用されている、エフェクトやFusionの機能によって、メモリ量が変わります。
DaVinci Resolve上で再生することができるにもかかわらず、デリバーページでのレンダー(エンコード)でメモリ不足になる理由は、クリップやエフェクトなどの条件やDaVinci Resolveの設定等によってさまざまな理由がありますが、結果的に利用されるメモリの扱い、処理が異なるため発生する場合があります。

対策

メモリー不足がどのような理由で発生したかにより、対策にはいくつかの方法があると考えています。

多数の対応方法はあるかと思いますが、どのような場合に何が最適な対策なのかは判断条件が複雑で、お伝えするのは難しいです。また、特定の条件下では有効な対応でも、運用が煩雑になるため、お勧めしにくいものもあります。

このため、ここでは、利用方法はわかりやすく、多くのパターンで効果があり、運用はさほど難しくない方法をご紹介いたします。

デリバーページで実施するレンダー処理を事前に実施する「レンダリングして置き換え」です。(バージョン17で対応した機能です。)
これは特定のクリップのみを別の動画として書き出し、書き出した動画を素材として、元のクリップに置き換える機能です。置き換えられたものは、Fusionやカラーなどの複雑な処理がされた動画ファイルになるため、CPUやGPU負荷の低減、メモリ利用量の低減が見込めます。

この機能を複雑なエフェクトを利用しているクリップに利用することで、次のような効果があります。

  • DaVinci Resolve内でのタイムラインの再生がもたつく
  • デリバーで時間がかかる(デリバー時のフレームレートが低い)クリップが多数あり、毎回時間がかかる
  • デリバー時にメモリ不足で書き出せない場合がある

「レンダリングして置き換え」について

「レンダリングして置き換え」はレンダー時のトラブル以外にも、様々も目的で利用できるメニューです。そのままでは高負荷のクリップを一度動画ファイルに書き出し、それと置き換えるため、処理に必要な負荷を大幅に低減可能になります。
今回は、デリバーページでのレンダーでの処理時間やメモリ不足を改善するために利用していますが、エディットページやカットページで処理する際にも効果があります。
(今後、同様の「レンダリングして置き換え」に関する他の利用についての記載が増えた際には、「レンダリングして置き換え」のみを独立した記事にする見込みです。)

利用方法

「レンダリングして置き換え」の実施

対象のクリップを右クリックして、<レンダリングして置き換え>を選択します。
なお、1つのクリップでなく、複数のクリップをまとめて置き換えたい場合は、事前にまとめるクリップを「新規複合クリップ」でまとめた上で、<レンダリングして置き換え>をすることも可能です。

注意点
「レンダリングして置き換え」を実行すると、メディアプールに書き出した、差し替える動画が登録されます。登録されるメディアプールのビンの場所は、「レンダリングして置き換え」を選択する際に開いているビンの場所になります。また、パワービンが開いている場合も同様で、パワービンに直接保存されます。ただ、スマートビンが開いている場合は、マスタービンのトップの階層に保存されます。

利用目的により、フォーマット、コーデック、種類を変更します。
ポイントとしては、透明度(アルファ)のあるクリップを書き出す場合は、透明度に対応するコーデックを選択する必要があります。フォーマットにより、選択できるコーデックや種類が変わってきます。

何がベストかは実際に確認いただくのがよいと思いますが、透過処理に対応するフォーマットは限られます。透明度の処理を考えると、「Quick Time」「Grass Valley」を選択して、種類はタイムラインの解像度を選択いただくのがよいかと思います。
選択するフォーマットによっては、圧縮品質なども選択可能です。

なお、追加xxフレームハンドルを残してトリムで数字を入力すると、そのフレーム分伸ばし動画を書き出します。

<レンダー>を選択し、書き出す動画の保存先フォルダを指定すると、対象のクリップが書き出されます。

ポイント
指定したフォルダに書き出した動画が保存されます。これが、置き換える素材になります。「レンダリングして置き換え」を実施するたびに新しい素材となる動画ファイルが作成されることになるため、保存先が分散しないように管理することをお勧めます。

保存が完了したら、書き出した素材が、メディアプールに追加され、タイムラインのクリップが書き出したクリップに置き換えられます。

「レンダリングして置き換え」で置き換えたものを再編集する場合

置き換えられているクリップを右クリックして<オリジナルに分解>を選択

すると、「レンダリングして置き換え」を実施する前のクリップの状況に戻ります。タイムライン上のクリップは元に戻りますが、「レンダリングして置き換え」で作成した動画ファイル自体と、メディアプールにある置き換えていたファイルの登録は残ります。また、再度「レンダリングして置き換え」を実施した場合は、新たにファイルの作成と、メディアプールへの追加が行われます。

♯DaVinciResolve

♯ダビンチリゾルブ

最新情報をチェックしよう!