Dave_Scream
в скрипте SVP есть функция SVAnalyse, но параметры в ней идут совсем другие чем в MAnalyze
Да. Параметры записываются с использованием JSON в одну текстовую строку analyse_params. Некоторые параметры изменились, некоторые добавились. Подробное описание параметров там.
как указать чтобы скрипт работал в несколько потоков?
Добавить три строки в соответствующих местах (перед функцией открытия, перед обработкой, в конце скрипта):
SetMTMode(3,[число потоков])
SetMTMode(2)
Distributor()
переписать этот скрипт в более оптимизированный вариант?
Получился скрипт svp_MotionBlur:
global svp_scheduler=true
global threads=7
global multi=4
global blendtimes=2
LoadPlugin("C:\Program Files (x86)\SVP\plugins\svpflow1.dll")
LoadPlugin("C:\Program Files (x86)\SVP\plugins\svpflow2.dll")
function BlendEveryTwoFramesIntoOne(clip src, int HowManyTimes)
{
blend = src.ConvertFPS(src.Framerate*2).SelectOdd.SelectOdd
return HowManyTimes<=0 ? src : BlendEveryTwoFramesIntoOne(blend, HowManyTimes-1)
}
SetMTMode(3,threads)
AVIsource("2.avi")
ConvertToYV12()
SetMTMode(2)
super_params="{gpu:1}"
analyse_params="{}"
smoothfps_params="{rate:{num:"+string(multi)+",den:1},scene:{blend:true}}"
super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")
BlendEveryTwoFramesIntoOne(blendtimes)
Distributor()
Настраивать три параметра в начале скрипта:
threads=7 - количество потоков, подробнее о выборе значения: Количество потоков
multi=4 - коэффициент повышения частоты кадров вставкой интерполированных кадров
blendtimes=2 - количество смешиваний каждых двух кадров в один
и один параметр в середине:
gpu:1 - использование GPU для построения кадров, 1 - использовать, 0 - не использовать
Для сохранения частоты кадров следить за тем, чтобы multi равнялось двойке в степени blendtimes, возможные пары это (multi:blendtimes): 4:2, 8:3, 16:4 и т.д.
На текущих настройках скрипт между двумя соседними исходными кадрами вставляет три интерполированных и смешивает эти три кадра с исходным кадром. На выходе каждый кадр видео содержит четыре положения движущихся объектов.