Aviutl最新版(v1.10)で、拡張編集を使って動画を編集し、いざエンコードをスタートした時に、

AviUtl : Application Exception

というウィンドウが出てくることがあります。

エラー内容は

アドレス"(英数文字列)"で例外"0xc0000005"が発生しました

発生モジュール:exedit.auf
オフセットアドレス:(英数文字列)
備考:FILTER::exec_multi_thread_func() [MULTI_THREAD_FUNC]

正常な動作が出来ない可能性がありますが処理を継続しますか?


のような内容で、下に「はい」「いいえ」のボタンが出ます。
「はい」を押しても窓が出続け、「いいえ」を押すとAVIUTLが強制終了になるという症状です。


私の場合、結論から書きますと、
AVIUTLv1.10に拡張編集テスト版exedit93rc1を入れない
で解決されました。
本体v1.10に、拡張編集v0.92という組み合わせにしただけでエラーがなくなりました。


<症状の詳細>
まず、このエラーは編集中には普通に再生できていたのに、エンコードを始めてから
「特定のフレームに差し掛かった時に」発生
しました。

そこで、編集に戻ってそのフレームにどのような処理をかませているか確認しましたら、
「シーンチェンジ」を使っている部分でした。
切り取った.aviファイル同士を、クロスフェードやランダムラインなどで画面切り替えするためのエフェクトです。
これはAVIUTL本体に元から備わっているエフェクトで、外部プラグインではありません。
「フィルタオブジェクトの追加」>「シーンチェンジ」で設定するものです。

また、シーンチェンジには様々な「チェンジのしかた」のタイプがありますが、
それもデフォルトでついているものの中から選んでありました。
更にいうと、「クロスフェード」の部分はエラーが発生しませんが、
その他の例えば「ワイプ(時計)」「スライス」などを使用した部分の最初のフレームでは、
エンコードでその部分に差し掛かると「例外"0xc0000005"が発生」しました。


<試した解決策>
試したけれど効果がなかった解決策も一応列挙しておきます。

 屮侫.ぅ襦廖筺峇超設定」>「システムの設定」>「キャッシュサイズ」の増減
上げても下げても、このエラー解決には関係ありませんでした。

外部プラグイン「InputPipePlugin」の導入
これはAVIUTLでの編集中の処理をなるべく軽くするためのプラグインで、エラーの発生にも解決にも関係ありませんでした。

L-SMASH Works File Reader settingsで設定を変更する
「Libav+L-SMASH」をオンにしてみたり、VFR->CFRを「30/1」にしてみたりしましたが、
エラーは発生しました。


よって、うちの環境では、本体と拡張編集のバージョンの組み合わせによって、
この例外エラーが起こった……と結論付けました。

この組み合わせにすることで、外部スクリプトを入れているとAVIUTL起動時に、
「rikkyメモリ管理プラグインはこの拡張編集プラグインのバージョンには未対応です」
などのメッセージが出ることがありますが、編集やエンコードに致命的なエラーが発生するものではありませんし、
これについては、rikkyさんのモジュールもv1に落とせばなくなります。
Aviutl本体v1.10+拡張編集93rc1の組み合わせに対してこれを入れていた状態だと起こることなので、
Aviutl本体v1.10+拡張編集92の組み合わせに戻すなら、スクリプトのバージョンもrikkymodule&memoryにすれば完了です。

多くのサイトで「本体やプラグインを最新にする」と書いてありますが、
拡張編集プラグインに関してのみ、「テスト版は避けよう」が教訓ですw