似乎 Dissolve 和/或 Fade 更改了 .avs 脚本中的总帧数。当我将 avs 脚本中的总帧数相加,然后在 Vdub 中加载 avs 脚本时,总帧数是不同的。下面我的真实示例显示了相同脚本的822 帧与 1368 帧的差异。我进行了一些基本测试,这些测试似乎支持这个假设。当然,我可能正在做一些愚蠢的事情。任何指导将不胜感激。如果我能澄清任何事情,请告诉我。Ffmpeg 也使用相同的脚本,这让我认为这是一个 Avisynth 问题。或者我缺乏 avs 编码技能。
系统规格:Win7,FFmpeg 版本:20170223-dcd3418 win32 shared,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
Test2.avs with return Dissolve = 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)
Test3.avs with fadeOut(fadeIn = 202 帧长= 意外行为
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)