Похоже, что Dissolve и/или Fade изменяют общее количество кадров в сценариях .avs. Когда я суммирую общее количество кадров в сценарии avs, а затем загружаю сценарий avs в Vdub, общее количество кадров отличается. Мой реальный пример ниже показывает разницу в 822 кадра против 1368 кадров для одного и того же скрипта. Я провел несколько основных тестов, которые, похоже, подтверждают эту гипотезу. Конечно, я могу делать что-то глупое. Мы будем очень признательны за любые рекомендации. Пожалуйста, дайте мне знать, если я могу что-то уточнить. Ffmpeg также работает с тем же скриптом, что наводит меня на мысль, что это проблема Avisynth. Или отсутствие у меня навыков кодирования avs.
Системные характеристики: Win7, версия FFmpeg: 20170223-dcd3418 общий доступ к win32, версия AVISynth: 2.6
Test1.avs = 200 кадров long = ожидаемое поведение
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 с возвратом Dissolve = 195 кадров long = Неожиданное поведение
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 с fadeOut(fadeIn = 202 кадра long = Неожиданное поведение
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 кадров long = Неожиданное поведение
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 кадра long = ожидаемое поведение (это то, что я хочу)
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)