x264でエンコードをする際、AviSynthの入力を使ってます。
> x264 -p 1 -B 3000 --threads 2 -o hoge.mp4 hoge.avs
という感じで、avsは
OpenDMLSource("hoge.avi")
ConvertToYV12()
return last
です。ここのhoge.aviはhuffyuvでエンコードされた音声なしのAVIです。
普通は問題なくエンコードできますが、一部のaviからエンコードされたファイルを観ると、途中から
CAVIStreamSynth: System exception - Access Violation at 0x0, reading from 0x0
という赤い文字列が黒い背景と共に出てきます(最後までずっとこの表示です
原因が分からないですが、とりあえず試したことは、
1. --thread-input をつける(avsの読み込みに影響があるということを見たことがあるので
2. CPUはデュアルコアですが、片方のコアだけで動かしてみる & --threads 1 にする
をしてみましたが、変わりませんでした。VirtualDubでavsを読み込んだ場合は問題ありません。
原因が分からないので困っています。
こんなことをしている間にも録ってる物がHDDを埋めていってしまうので、
とりあえずAviSynthを使わず、HuffyuvのAVIをx264の入力に使う方法はありますか?