前処理・中間処理で考える軽量化
AviUtl拡張編集を用いた動画編集の軽量化について、私が行っている動画素材の前処理・中間処理を解説します。 動画素材を複数使う環境を前提にしています。参考になりましたら幸いです。
軽量化とは
編集中にサクサク動くようにすること
前処理・中間処理とは
「編集に使う素材は画質を犠牲にして軽くしとこう」=前処理
「編集中もっさりする処理は一旦ファイルに書き出そう」=中間処理
工夫
連番画像ファイルおすすめ
シーン機能で本出力と編集出力を切り替えよう
中間素材にフレーム番号をつけてタイミング合わせを簡単にしよう
/icons/hr.icon
前処理を考える
前処理の必要な重い素材といえば動画素材です。理由はこちら。
デコード=圧縮データから静止画に戻す処理
ファイル読み込み=SSD/HDDから読み込む処理
mp4を始めとした動画のデコードの重さは、元ファイルの画質(≒ビットレート)に概ね依存します。そこで画質を落としたmp4や可逆圧縮aviを一旦作成してしまうのが最も簡単な考え方。許容範囲で解像度やfpsを落としましょう。
軽量素材で編集を進め、完了したら高画質素材に置き換えます。
一方でファイル読み込みは、SSDの普及や、PCIeを採用した高速ストレージの登場でだいぶ緩和されました。ファイル読み込みが重さの原因になるのは骨董PCや廉価品を除いて考えにくいです。マザーボードを確認して空きがあれば数千円のPCIe接続M.2 SSDを買っちゃえというのが私の考えです。
連番画像ファイルにして動画オブジェクトに読み込ませると、CPUは煩わしいデコードから解放されます。(厳密には画像もデコードしますが僅少量)
AviUtlにとっては続けて画像を読み込む方が動画を再生するよりも楽なようです。
一度試してみてください。
※ファイル総容量は概ね動画よりも結構大きくなります。また、PC構成と編集内容によってはファイル読み込みの方が重くなる場合もあります
/icons/hr.icon
中間処理を考える
こちらに基準はないです。重さにガマンできなくなったら一部をファイルとして書き出し。
重い原因のオブジェクトを非表示にするなどして、書き出したファイルを読み込めばAviUtlの計算過程を省くことができます。
こちらも、動画ファイルに書き出してしまうと、「再度中間出力したい……となったときにAviUtlがそのファイルをオープンしているので上書きできない」という残念なケースが起きます。
連番画像ファイルは扱いこそ動画オブジェクトですが、読み込み自体は画像ファイルなのでこのようなことにはなりません。
便利ですね。
私は動画ファイルごとに連番画像フォルダを作ってみたりしていました。結構捗ります。
いくつも中間素材を作っていると何フレーム目からの書き出しだっけ……?となることが良くあります。
個人的な対策で、カスタムオブジェクトのカウンターを設置しています。中間とメインのタイマーが一致するフレームに置けば良し!もちろん最終出力時には削除します。
/icons/hr.icon
シーン機能を活用する
シーン機能は複数のタイムラインを編集できる機能です。
動画オブジェクトは一旦シーンに入れて、シーンオブジェクトとして扱うと、後からの差替えが大変楽です。
メインのタイムラインからは素材の解像度などを気にする必要がなくなりますね。
中間処理も重いオブジェクトをシーンに移して、シーン側でレイヤーの表示/非表示で中間素材と切り換えれば本編集の負担が減ります。
注意として、直接動画ファイルを参照しに行く一部スクリプトやプラグインを使う場合はシーンで管理しにくいです。
/icons/hr.icon
スクリプトやプラグインのような頒布物と比べて、編集ノウハウはあまり共有されない・共有しにくいイメージがあります。何か良いテンプレはないもんですかね。