Davinci Resolveで書き出しの失敗を減らす方法

2020年9月14日

Davinci Resolveで書き出しの失敗を減らす私なりの方法を紹介します。

この記事は「瀬戸弘司さんがDavinci Resolveで困ってる!」って話の続きでもあります。

1. レンダーキャッシュを使おう!

レンダーキャッシュを使おう!これだけです。じゃあ具体的にどうするか。

  1. プロジェクトを開いた状態で、画面右下の歯車を選択する

  2. 「マスター設定」→「最適化メディア&レンダーキャッシュ」の項目で全てにチェックを入れて保存する、(開始時間は「1秒」でも「5秒」のままでもOK)

  3. 画面上端にある「再生」メニューでレンダーキャッシュを「スマート」にする

  4. 1~5後にレンダーキャッシュが生成され始めるので放置する

  5. これで生成が開始しなければ、エディットページでタイムラインの素材で右クリック、「Fusion出力をレンダーキャッシュ」や「カラー出力をレンダーキャッシュ」を選択してください。

    タイムラインの上側の赤いバーが左から順に青色になるので、全て青くなるまで待つ(完了したらグラフィックボードのファンが静かになるので画面を見ていなくても分かります)

  6. デリバー画面に移動する

  7. カスタムモードで「詳細設定」を開き、「レンダーキャッシュしたイメージを使用」にチェックを入れる

  8. レンダリングを開始する

以上です。グラフィックボードの性能にもよるかもしれませんが、普通にレンダリングする数倍以上の速さでレンダリングが完了します。

注意点

レンダリング後に編集しない

レンダーキャッシュ生成後に動画を編集するとキャッシュの再生成が必要になるのでレンダリング直前にタイムラインなどを無闇に触らないことです。Ctrl+xなどでのアンドゥ・リドゥの操作も厳禁。(アンドゥ・リドゥで元の場所まで戻ればキャッシュは回復したような記憶もありますが、避けたほうが無難)

空き容量に注意

もう一つの注意点はレンダーキャッシュは容量がめちゃくちゃ大きいことです。10分とか20分の動画でもレンダーキャッシュは数百 GBになります。動画の編集内容や長さにもよりますけど、経験則では20分の4K30p動画でも400~500 GBくらいになります。できれば最低でも1 TBくらいの空きが欲しいところです。

もし容量が不足すると、レンダーキャッシュは途中で止まるし、ストレージがいっぱいで肝心のレンダリングもできなくなり、せっかく生成したキャッシュを削除する羽目になるので空き容量には注意してくださいね。

私は容量を圧迫したりグラフィックボードが頑張るのが嫌いなのでいつもレンダーキャッシュをオフにしていて、どうしても必要な時や必要な部分だけユーザー指定で使うことが多いです。これなら必要な容量も節約できます。

タイムライン解像度は書き出したい解像度にする

タイムライン解像度は、書き出したい解像度と一致させてください。(編集時の再生メニューのプロキシ設定は1/4や1/2でも問題ない。ただし、オフじゃないとレンダリングが始まらない)

キャッシュされるレンダリングの解像度はタイムライン解像度に依存しているからです。

タイムライン解像度とデリバーの解像度は一致させる

せっかくキャッシュを生成しても、いざデリバーで違う解像度を指定すると、レンダーキャッシュは利用されません。通常、レンダーキャッシュを使えば最近のPCなら4K映像でもレンダリング速度が80 fpsくらいは出るはずですが、キャッシュが利用されない場合は再びレンダリングを行うので凄く遅くなります。正しくレンダーキャッシュが使われているかどうかは、レンダリング速度を見ればすぐに判別できるはずです。

ちなみに、私のPCのグラフィックボードはGRX 1660 SUPERですが、4K映像をそのまま書き出せば10~30 fps、レンダーキャッシュを使えば80~100 fpsくらいは出せます。

2. ネイティブ書き出しを使う

これは有償版ユーザーに限った話。

レンダーキャッシュを使っても失敗する時は、グラフィックボードで書き出すのではなくて、CPUを使った「ネイティブ」での書き出しを試してみるのも1つの手です。そこまで期待の持てる方法でもありませんが、コストを賭けずにすぐに試せる方法です。

有償版を使っている人はグラフィックボードを使うことをデフォルトにしていて忘れがち。何せ、グラフィックボードのほうが爆速ですからね。

ちなみに無償版の場合はそもそもネイティブ書き出ししか使えません。

3. 書き出しの負荷率を下げる

エラーの原因がグラフィックボードの熱暴走の場合、負荷を下げるだけで解消できる見込みもあります。

手順1. デリバーページでファイルのタブを選択

スクロールして下のほうへ移動します。

手順2. レンダー速度を好みの値に設定

あとはレンダーキューに追加してレンダリングするだけです。

負荷率は1%~100%まで指定できます。注意点は次の2点。

  • 指定値よりも負荷が大きくなるので75%以上はオススメしない
  • レンダリングの途中で設定変更できない(なので、50%が無難)

例えば75%と指定してもそれはDavinci Resolveのみの負荷なので、他のソフトの負荷も併せると全体としてはほぼ100%くらいになることはしばしばです。かといって、下げ過ぎると遅くなって「じれったい・・・もっと上げておけば良かった」となります。私はレンダリング中にもPC作業がしたい派なので、10%~25%が多いですが、エラーを減らすことだけを目的とするなら50%~75%が最適かと思います。

ちなみに、私はこれを書くとうの昔に有償版に切り替えてしまったので、無償版でもこの機能が使えるかどうかは分かりませんが、もし無償版でこの機能がないなら、有償版を買っちゃいましょう。まじでオススメです。

4. ECCサポートのグラフィックボードに変更する

ECCメモリ

ECCとはError check and correct memoryの略。ECCメモリとは、エラーをチェックして修正してくれる機能を持つメモリのこと。

最もコストが掛かる方法ですが、最も効果が高い方法でもあります。でも改善する保証はないので、あくまでも最終手段だと思ってください。

一般的に普及しているRTX 3000シリーズとか2000シリーズみたいなのは、搭載されているメモリがECCをサポートしていません。

ECCをサポートするDavinci Resolveに最適なグラフィックボードは下記リンクでも紹介しています。併せて呼んで頂ければ幸いです。

めっちゃ気になる瀬戸さんのDavinci Resolve不具合問題

私のグラフィックボードは現在GTX 1660 SUPERというDavinci Resolveにはギリギリのスペックで、負荷が掛かりすぎると正常にレンダリングできないことがあるのですが、レンダーキャッシュを使った場合は確実にレンダリングできています。

瀬戸さんがもしレンダーキャッシュを使ってデリバーしているのにコマ落ちが出るのだとしたら、Pro vega ii DuoというモンスタースペックのグラフィックボードとDavinci Resolveとの相性問題の可能性が濃厚な気がしますね・・・どうなんでしょうね。と思ってたんですけど・・・

どうやら4K60pの映像を4枚とか重ねたりしているらしい・・・そりゃ重いね・・・FHD60pを16枚重ねるようなもんだもの・・・笑笑笑

瀬戸さんは60pにこだわっています。それと同時にストレージの圧迫も心配されていました。ヌルヌル感を出すには60p(シャッタースピードが1/100-120)のほうが良いということなんでしょう。でもシャッタースピードを1/100のままで24pとか30pにすればモーションブラーは減らせるので24pでシャッタースピードを1/50にするよりかはパリっとした映像は作れると思いますが、それだとやっぱりコマ送り感が出ちゃうんでしょうか。

私もそこまで試したことがないんですけど、Youtubeで動画を見てても「これは60pだ」とか「これは30p」とか正直分からないんですよね。そりゃあ同時に見比べたら確かに違うんですけど。私も、これから乗馬の動画を撮る時は60pでいこうと思ってたんですけど動画編集の重さとかストレージの圧迫を考えたらそういうところから見直すことも必要だなぁーと気付かされました。

それで調べてみると、いい感じに検証している動画がありました。

やっぱりシャッタースピードだけでそれなりにパリっとはできますよね。例えばカメラが横回転(パン)したり横移動(トラック)するような映像の場合、モーションブラーが大きいと残像だらけで凄く見にくいので、一概にfpsの2倍が適正なシャッタースピードとは言えないと思うんですよね。

その後、瀬戸さんも30pをシャッタースピード1/30で撮影して60pの動画にするなどのテストもされています。



あとは24pや30pでも違和感がなければいいんですが。私も今後いろいろと検証していこうと思います。