Dissolve および/または Fade が .avs スクリプトのフレームの総数を変更するようです。avs スクリプトのフレームの総数を合計してから、avs スクリプトを Vdub にロードすると、フレームの総数が異なります。以下の私の実際の例は、同じスクリプトで822 フレームと 1368 フレームの違いを示しています。この仮説を支持するように見えるいくつかの基本的なテストを実行しました。もちろん、私は愚かなことをしているかもしれません。ガイダンスをいただければ幸いです。何か明確にできることがあれば教えてください。Ffmpeg も同じスクリプトを使用しているため、これは Avisynth の問題だと思います。または、AVSコーディングスキルの欠如。
システム仕様: Win7、FFmpeg バージョン: 20170223-dcd3418 win32 共有、AVISynth バージョン: 2.6
Test1.avs = 200 フレームの長さ = 予想される動作
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
video = v1 + v2
return video
Return Dissolve を含む Test2.avs = 195 フレームの長さ = 予期しない動作
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
return Dissolve(v1, v2, 5)
FadeOut(fadeIn = 202 フレームの長さ = 予期しない動作を伴う Test3.avs
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
fadeOut(fadeIn(v1 + v2, 60), 60)
ディゾルブとフェードを含む Test4.avs = 197 フレームの長さ = 予期しない動作
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
v3 = Dissolve(v1, v2, 5)
fadeOut(fadeIn(v3, 60), 60)
ディゾルブとフェードのフレーム レートを明示的に指定する Test5.avs = 197 フレーム = 予期しない動作
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
v3 = Dissolve(v1, v2, 5, 24)
fadeOut(fadeIn(v3, 60, $000000, 24), 60, $000000, 24)
realExample = 822 フレームの長さ = 予想される動作 (これは私が望むものです)
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24).trim(1,106)
v3=ImageReader("3.png", fps=24).trim(1,471)
v9=ImageReader("9.png", fps=24).trim(1,58)
v10=ImageReader("10.png", fps=24).trim(1,35)
v11=ImageReader("11.png", fps=24).trim(1,152)
video = v1 + v3 + v9 + v10 + v11
return video
realExample = 1368 フレームの長さ
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24).trim(1,106)
v3=ImageReader("3.png", fps=24).trim(1,471)
v9=ImageReader("9.png", fps=24).trim(1,58)
v10=ImageReader("10.png", fps=24).trim(1,35)
v11=ImageReader("11.png", fps=24).trim(1,152)
d1 = Dissolve(v1, v3, 5)
d3 = Dissolve(v3, v9, 5)
d9 = Dissolve(v9, v10, 5)
d10 = Dissolve(v10, v11, 5)
fadeOut(fadeIn(d1 + d3 + d9 + d10,60),60)