読む必要のない実験
ffms2 64bit に関して
(インタレ解除とは関係がないので、読まなくてもいいです)
(L-SMASH Works推奨なので、本当に読まなくてもいいです)
AviSynth+ は、ffms2 の 32 bit のみでも動作しますが、32/64 bit の両方を同時に使用できるようです(誤解を招く書き方かも)。
逆に、ffms2 64 bit のみだと、この記事のスクリプトでは動きません。
(ffms2 64 bit のみでも動作するスクリプトは下記)
*(何故 32 bit と 64 bit が混在していて動くかは、よく分からないのですけど、内部の互換性やらやらのお陰で動いているみたいです。感謝満載です)
以下は謎の実験です。
目的:64bit版だけでは動かせないのか見る
環境:ffms2 32 bit → バージョン2.40.0.0 → Plugins+
ffms2 64 bit → バージョン5.0.0.0 → Plugins64, Plugins64+
バージョン違いを混在した。
考察:ffms2は、32bitと64bitが両方ある場合、VideoとAudioをそれぞれ別に投げている様子。64 bit に Vedeo を優先してはいるのかも。
バージョン違いの 32bit/64bit でも問題なく動作している(と思う)。
むしろ、64 bit だけだとVideoかAudioの片方しか処理できない様子。32 bit だけだと両方を処理できている。
これが、ffms2本来の挙動なのか、AviSymth+関係の挙動なのか、AviUtl(32bit)影響なのかはわかりません。
ChatGPT君は、最初「普通、32bitなら32bit、64bitなら64bitだけをつかうから、両方使うなんてありえないわ」と言っていましたが、最終的には「ま、まぁ、ありえなくも⋯⋯ないわね⋯⋯」となりました。
以下は使用したスクリプト
AudioDub(FFVideoSource(X, cache=false), LWLibavAudioSource(X, cachefile="nul")) ↑キャッシュ残さないバージョン↑
※どっちでも良いと思います。
↑これだと、64bit ffms2のみで動かせます。
だから何だって気もします。
↓ キャッシュ残すバージョン ↓
AudioDub(FFVideoSource(X, cache=false), LWLibavAudioSource(X)) ※※以下の画像の注釈米米
2.40.0.0 → ffms2 32bit
5.0.0.0 → ffms2 64bit
Plugins+ あり
Plugins64 あり
Plugins64+ あり


Plugins+ なし
Plugins64 あり
Plugins64+ あり
64bitのみ

別のスクリプトの場合
A = FFAudioSource(X)
V = FFVideoSource(X)
AudioDub(V, A)
V = FFVideoSource(X)
A = FFAudioSource(X)
AudioDub(V, A)

Plugins+ あり
Plugins64 なし
Plugins64+ あり


Plugins+ あり
Plugins64 あり
Plugins64+ なし


Plugins+ あり
Plugins64 なし
Plugins64+ なし
32bitのみ


Plugins+ あり
Plugins64 あり
Plugins64+ あり

下の64bitのみの実験が分かりやすいかも。

上の場合 下の場合
Audioをffms2x64に投げる。 Videoをffms2x64に投げる。
↓ ↓
続けて、Videoをffms2x32に 続けて、Audioをffms2x32に
投げたいが見つからない。 投げたいが見つからない。
↓ ↓
仕方がないので、ffms2x64に投げる。 仕方がないので、ffms2x64に投げる。
↓ ↓
Audioが押し出されて、なくなる。 Videoが押し出されて、なくなるということかもしれない。
avs2yuv64.exeを使い、強制的に64bitのみを使う。
・64bitのフィルタのみを使用する。
・ffms2は、32/64両方ある環境
AudioDub(FFVideoSource(X, cache=false), LWLibavAudioSource(X, cachefile="nul")) ・上のスクリプト(音声はffms2を使わない)だと動作(映像/音声問題なし)する。
・下のスクリプトだと動作しない。
AudioDub( FFVideoSource(X, cache=false), FFAudioSource(X, cache=false))64 bit だけだとひとつのソースしか扱えないようです。
別の環境だと問題はないのかもしれません。
バージョン違いを混在した運用で不具合があるかは不明です。
不安なら、2.40.0.0に統一してください。
ただの、おま環かもしれない。
AviSynth の派生である AviSynth+ や Neo を使っているのだから、難しいね。
混ざっていても動く、どうでもいいことなのかもしれない。
寝よう。
そして、忘れよう。
