メモリ使用量を減らす
まず確認すべきこと
AviUtlのバージョンが1.00なら、1.10に更新してください
一部キャッシュを共有メモリに置いてくれるようになる
設定
最大画像サイズを小さくする
読み込むことがある動画/画像の縦横+50程度までは小さくしてもよいでしょう
さらに切り詰めるなら、システムの設定の最大画像サイズは動画のサイズ丁度にして、拡張編集の環境設定の最大画像サイズを適当に大きくするなど
参考値:3000×3000~5000×5000
最大フレーム数を少なくする
これは、扱える最大のフレーム数です 動画ファイルや、拡張編集のプロジェクトの長さの制限になります
この長さの固定長のバッファを沢山確保することになるので、そこそこな効果があります
参考値:50,000~1,000,000
画像データのキャッシュ数を少なくする
これは$ (画像データのキャッシュ数)\times(最大画像サイズ幅)\times(最大画像サイズ高さ)\times8\space \textrm{Bytes}程度持ってかれるので、かなりの効果があります。
しかし、これを小さくしすぎることで動かなくなるスクリプトやフィルタがあるので、気をつけましょう。
2はあったほうが良い
参考値:2~4
動画ファイルのハンドル数を少なくする
同時に開くファイルが減って、入力プラグインが確保するメモリが少なくなります。
InputPipePluginを導入していればあまり意味がないどころか、読み込み処理回数が増える関係で逆にメモリ多くを必要とすることもあります
参考値:16~32
シャドウマップサイズを小さくする
シャドー(カメラ制御)を利用していなければ効果はないです。
これを小さくすると、高い精度の影情報を得られる範囲が狭くなります。(同じ範囲にしようとすると荒くなります)
aviutl.iniを編集してbuffer=2の設定をする
/nazosauna/aviutl.iniにbuffer=2を追記する
プラグイン
InputPipePluginを導入する
L-SMASH Worksが食うメモリを肩代わりするもの
プロセス間通信が動いていることは要確認 /nazosauna/InputPipePluginが動いていることを確認する
その他
分割して出力する
使用していく度にメモリ使用量が蓄積していくようなプログラム(本来はこのようなことにはならないべきです)があった時に、短時間であれば少ないメモリ使用量で済むことから使える手法です。通常であれば上記の項目(特にInputPipePluginの動作)によって改善されるため分割に頼ることは無いはずですが、それでもメモリ確保が問題になる場合に以下の手順が有効な場合があります。
AviUtlを起動→選択範囲を指定→出力 を繰り返して細切れの動画を作り、最後に繋げます。
繋げ方は、AviUtlなどでやってしまってもよいですが、「MP4を無劣化で結合する」ようなソフトウェアを使う方法もあります。
FFmpegでも可能です 参考 → https://creazy.net/2018/03/ffmpeg-no-deterioration-combine-cutout.html
#howto