バッファ
目次 -index-
バッファ機能の解説とその働きについて色々と調べてみました。尚、マニュアルに詳しく載っていなかったので検証と憶測によるところが多いので記事の内容を100%信用しないで下さい。
バッファ再生(EDIUSWORLD)
タイムラインの再生が途切れたり停止する (EDIUSWORLD)
バッファとは
タイトルクリップやエフェクトをたくさん使用したり、4Kの動画素材などの負荷の高い処理をしていると音声が途切れ途切れになってカクカクした再生しかできなくなりますがそれを改善するための機能がバッファです。そのバッファを使って再生させることを「バッファ再生」と言います。仕組み的にはメモリにデータを先読みしてタイムラインの再生をスムーズに行うようです。
プレビューさせるとタイムライン下部のステータスバーにバッファの蓄積具合が300/300などでリアルタイムで表示されます。分子の値が現在のバッファ蓄積量(可変)で分母がその上限値(固定)になり、単位は恐らくフレーム数だと思います。分母の値は[システム設定]→[アプリケーション]→[再生]で変更できますが上限値はPCに搭載されているメモリの量によって異なります。図はメモリ16GB(8×2枚)のPC環境で再生バッファを8GBに設定したものです。
タイムラインを再生させてこの分子の値が増加している状態だとデータの先読みが間に合っているのでバッファが効いて負荷が軽い状態ということになりますが、逆に減っていってたり溜まらない状態だとデータの先読みが間に合っていない状態なので負荷が高いということを意味しています。要はカクつかずにスムーズに再生出来る時はバッファは効いていてカクカク再生される場合はバッファの効いていないという感じの理解でいいと思います。
バッファ設定
バッファに関する設定は[システム設定]→[アプリケーション]→[再生]にあります。
「再生が間に合わないときは停止する」を有効にするとバッファ蓄積量が0になると再生が止まって「再生が間に合わないため、停止しました。」と表示されます。デフォルトでは無効になっていますが有効にするとPCにあまり負荷を掛けたくない場合やどの辺までスムーズに再生できるかなどを調べるのに役立ちます。
「再生バッファ」ではバッファに割り当てるメモリの上限値を変更できます。メモリの上限値はメモリの搭載量で異なりますが、メモリをたくさん積んでいると再生バッファに割り当てるメモリ量の上限を大きくできるのでより長い時間バッファを効かせた再生ができるようになります。因みにShiftキーを押しながら再生ボタンを押すとバッファを上限値まで溜めてから再生させることもできます。
筆者の16GB(8×2枚)の環境で1920×1080(29.97p,59.94p)と3840×2160のプロジェクトで再生バッファの違いによる蓄積できるフレーム数を調べたら以下のような感じでした。このようにバッファリングフレーム数はプロジェクトサイズによっても上限値が変化し、また設定によって上限値がある一定以上は上がらなくなるのでその辺を見極めて設定すればPCに割り当てるメモリを無駄に消費せずに済むようです。
再生バッファ | 1920×1080 29.97p | 3840×2160 29.97p | 1920×1080 59.94p |
---|---|---|---|
128MB | 32 | 8 | 32 |
256MB | 64 | 16 | 64 |
384MB | 96 | 24 | 96 |
512MB | 128 | 32 | 128 |
1GB | 257 | 64 | 256 |
1.5GB | 300 | 96 | 384 |
2GB | 300 | 129 | 512 |
3GB | 300 | 193 | 600 |
4GB | 300 | 258 | 600 |
6GB | 300 | 300 | 600 |
8GB | 300 | 300 | 600 |
「再生開始時のバッファリングフレーム数」は再生ボタンを押した時に設定したフレーム数だけバッファを溜めて再生が開始されるので再生されるまで暫く待ち時間が生じます。ただ、上限が15フレームまでしかないようなので個人的にはあまり利用価値がないように思います。
バッファはレンダリングの判定にも利用されます。「システム設定」→「アプリケーション」→「レンダリング」にある「再生時のレンダリング判定」で設定したバッファ残量(1~10)を基準に行われ、バッファ残量が設定値より低くなると過負荷部分(赤色)のラインが表示されます。
あと色々とテストしていて分かったことなんですがバッファの蓄積具合はタイムラインに配置している最後のクリップの終端でちょうど0になるようになっているのでバッファが減っているから一概に負荷が高くなったということではないようです。要に負荷が軽くてバッファが常に満タン状態(300/300など)でもタイムラインの終端に近づくとはバッファは徐々に下がっていくということです。
なのでバッファの蓄積具合を確認する時は図のようにちょっと離れた位置にクリップをひとつ配置しておくといいかも知れません。ただこの方法はあまり負荷が高いような場合では意味をなしません。
バッファとレンダリング
Shiftキーを押しながら再生ボタンを押すとバッファを上限値まで溜めてから再生させることもできます。バッファが溜まるまで数秒から数十秒掛かりますが溜まっている間はスムーズに再生されます。
下の画像は高負荷なタイムラインでバッファを貯めている時にキャプチャしたものなんですが満タン(300)になるまでに約23秒、再生してバッファが0になるまでに約17秒という感じでした。因みに同じタイムラインを「選択クリップのレンダリング」でレンダリングしたら1分ほど完了したので状況に合わせて使い分けると効率的な編集が可能になると思います。
バッファ再生とはこんな感じなので例えメモリをたくさん積んでいたとしても実際にバッファを効かせた再生は数十秒から長くても数分程度なので過度な期待はしない方がいいですし、一回使用したらメモリから解放されてしまうので使い勝手としてはレンダリングの方が格段にいいです。ただ、レンダリングではHDDなどのストレージを大量に消費するのでその辺にゆとりがない場合はバッファに頼るしかないないかも知れません。