wiedii
Должен проигрываться.
Что показывает MediaInfo про этот файл?
You are not logged in. Please login or register.
SmoothVideo Project → Posts by MAG79
wiedii
Должен проигрываться.
Что показывает MediaInfo про этот файл?
Было много инструкций. Вот например:
Инструкция сохранения рассчитанного плавного видео при помощи GDSMux (Haali Muxer)
MPC-HC must be 32 bit too.
You need to install ffdShow (32 bit) or you can browse ffdShow.ax file instead of looking filter in the list.
Selection option in menu appears if detected 2 or more GPU OpenCL devices. If one of your GPUs don't have OpenCL-driver then it can not be used by SVP, so you don't see selection option.
Usually HD 2500 needed to install official driver from Intel site to get OpenCL compatibilities. Default windows-driver have not OpenCL part for Intel HD Graphics.
About GPU-acceleration in SVP. HD 2500 is good for SD resolution video only. For HD and higher I recommend to use discrete GPU.
Vigilante
You need to disable avisynth option in the ffdShow filter.
You can do it via ffdShow tray menu or ffdShow options window.
Why it is happend? We will see. Thank you for the bug report.
Вы описали случай когда пользователь скачивает i*-видео и воспроизводит его с нестандартными настройками
С вполне стандартными настройками. Большинство плееров по-умолчанию воспроизводят чересстрочный материал, делая деинтерлейс на лету. И как правило это аппаратный вектор-адаптивный (VA) деинтерлейс: из каждого полукадра собирается полноценный кадр с восстановлением вертикальной резкости. Для этого используются данные соседних полукадров.
1080p лучше 1080i
С точки зрения плавности лучше все-таки 1080i. Для телесериала (и других телевизионных передач) обозначение 1080i означает 50 полукадров в стандарте телевещания России и 60 полукадров в стандарте США. Это 50 и 60 фаз движения в секунду. Если 1080p делался из 1080i, то частота кадров обычно должна быть указана в 2 раза меньше. т,е. 25 и 30 к/сек соответственно. Это в общем случае.
Поискав в интернете, можно обнаружить, что данный сериал доступен с "киношной" частотой 24 кадра/сек. В таком случае 1080i это телекино-преобразование 2:3 pulldown 24p>60i, которое я бы не рекомендовал к скачиванию. Лучше скачать 1080p с оригинальной частотой 24 к/сек. Там и качество выше, и к воспроизведению на компьютере требования ниже, и повышать плавность можно прямо на лету без лишних операций деинтерлейса и обратного телекино-преобразования, обязательных при просмотре 1080i на компьютере.
Because of it you need to get not 100% CPU load but about 75% load to avoid such situations with video delayed.
SamE
You can use HW deinterlace before SVP by enabling it in LAV Filters.
used avisynth.dll: Avisynth, 2.6.0.3 (CRC32:4E3DD2EE) from C:\Windows\system32\
You are using not SVP-optimized avisynth library. So it can be memory overflow error.
Try to use SVP-optimized one. Is it help you?
fakel
Уход в сон и просыпание должны корректно обрабатываться SVP 3.1.7.
Давайте разбираться, что в данном случае не так.
Что указано в логе?
действия: проиграть видео, уйти в сон, пробудиться, проиграть видео еще раз
затем открыть лог: Меню SVP в трее - Показать - Журнал последнего запуска
и скопировать его содержимое сюда в ветку.
Если SVP-менеджер не отвисает после закрытия плеера, то искать журнал в проводнике: C:\ProgramData\SVP 3.1\Logs\Log.txt
VB_SVP
You need to change renderer to:
- madVR exclusive mode; or
- EVR Custom with D3D Fullscreen mode; or
- Overlay Mixer.
Выбрать профиль настроек полегче текущего:
Меню SVP в трее - Профили настроек алгоритмов - сбросить профили
JamieFX
It is strange. Do you hear the sound after video is stoped?
Or audio stops with video too?
JamieFX
Can MPC-HC plays more than 10 sconds at your system if you disable or exit SVP?
JamieFX
Im trying to play a 60fps video on MPH-HC its fine sound and everything but it only plays for 10 seconds any help?
What is happened after 10 seconds?
Видимо, видеокарта не тянет все включенные улучшалки качества видео в отрисовщике madVR. Надо настроить madVR. Или временно сменить его на EVR.
Fault Module Name: AviSynth.dll
Fault Module Version: 2.6.0.5
Try to use avisynth 2.5.8.5 MT SVP edition. It uses more less memory and must work better with the script.
triforcemack
I see the error is:
18:23:44.288; Error: Error preparing smooth playback! Script error:
C:\Program Files (x86)\SVP\SVPMgr.wsf(17, 3) Microsoft JScript runtime error: 'confSVPmgr.main' is null or not an object
Did SVP 3.1.7 work to you before?
Evial84
ошибка скрипта AVS
Какая именно ошибка?
Давайте подробности, будем помогать
basilbasilbasil
Спасибо. Это особенность движений в аниме.
Вот тут Пресет SVP для аниме и буферизация кадров обсужалось с картинками:
Движения фона есть в каждом кадре, а движение персонажа прорисовано только через кадр
Может когда-нибудь SVP сможет выделять объекты и определять частоту их прорисовки. Пока к сожалению это нереально сделать автоматически.
pururum
Я драйвера для HD4000 там беру:
https://downloadcenter.intel.com/produc … Processors
Yes. I did it!
It was not avisynth error it was needed in "global" statements. Working version of GameDropFixFuncs.avsi:
# GameDropFixFuncs.avsi
function GameDropFixV4(clip c, bool "myGPU", bool "myDebug", int "myErrSize")
{
myGPU = default( myGPU, true )
myDebug = default( myDebug, false )
myErrSize = default( myErrSize, 12 )
last=c
super_params_mini = (myGPU==true) ? "{gpu:1}" : "{gpu:0}"
analyse_params_mini="{block:{w:8,h:8}}"
miniW = int(width/64)*32
miniW = (miniW<320) ? 320 : miniW
miniH = int(height/64)*32
miniH = (miniH<160) ? 160 : miniH
global mini=BicubicResize(miniW,miniH).TemporalSoften(1, 1, 0, scenechange=1, mode=2)
super_mini=mini.SVSuper(super_params_mini)
vectors_mini=SVAnalyse(super_mini, analyse_params_mini)
vectors_Forward=SVConvert(vectors_mini, false)
HorizontalSpeed_luma=mini.MMask(vectors_Forward, kind=3).convertToRGB32().PointResize(miniW/8, miniH/8).PointResize(miniW/4, miniH/4).ConvertToYV12().mt_lut(y=2, u=128, v=128)
VerticalSpeed_luma=mini.MMask(vectors_Forward, kind=4).convertToRGB32().PointResize(miniW/8, miniH/8).PointResize(miniW/4, miniH/4).ConvertToYV12().mt_lut(y=2, u=128, v=128)
size=16
global luma_lft=HorizontalSpeed_luma.crop(0,0,miniW/16,0).BicubicResize(size,size)
global luma_rgh=HorizontalSpeed_luma.crop(miniW/16+miniW/8,0,0,0).BicubicResize(size,size)
global luma_top=VerticalSpeed_luma.crop(0,0,0,miniH/16).BicubicResize(size,size)
global luma_btm=VerticalSpeed_luma.crop(0,miniH/16+miniH/8,0,0).BicubicResize(size,size)
global luma_drop=luma_lft.mt_lut(y=-1, u=128, v=128)
global move_idx=5
global y_idx=3
global min_move=0.1
global max_stop=0.5
global drop_clip=luma_drop.ScriptClip("
AvgLuma_lft=128-luma_lft.AverageLuma
AvgLuma_rgh=128-luma_rgh.AverageLuma
AvgLuma_lft_prev=128-(luma_lft.trim(1,1)+luma_lft).AverageLuma
AvgLuma_rgh_prev=128-(luma_rgh.trim(1,1)+luma_rgh).AverageLuma
AvgLuma_lft_next=128-luma_lft.trim(1,0).AverageLuma
AvgLuma_rgh_next=128-luma_rgh.trim(1,0).AverageLuma
AvgLuma_top=128-luma_top.AverageLuma
AvgLuma_btm=128-luma_btm.AverageLuma
AvgLuma_top_prev=128-(luma_top.trim(1,1)+luma_top).AverageLuma
AvgLuma_btm_prev=128-(luma_btm.trim(1,1)+luma_btm).AverageLuma
AvgLuma_top_next=128-luma_top.trim(1,0).AverageLuma
AvgLuma_btm_next=128-luma_btm.trim(1,0).AverageLuma
Max_lft=max(abs(AvgLuma_lft_prev),abs(AvgLuma_lft),abs(AvgLuma_lft_next))
Max_rgh=max(abs(AvgLuma_rgh_prev),abs(AvgLuma_rgh),abs(AvgLuma_rgh_next))
Max_top=max(abs(AvgLuma_top_prev),abs(AvgLuma_top),abs(AvgLuma_top_next))
Max_btm=max(abs(AvgLuma_btm_prev),abs(AvgLuma_btm),abs(AvgLuma_btm_next))
Max_all=max(Max_lft,Max_rgh,Max_top,Max_btm)
MaxLuma=max(abs(AvgLuma_lft),abs(AvgLuma_rgh),abs(AvgLuma_top),abs(AvgLuma_btm))
MaxLuma_prev=max(abs(AvgLuma_lft_prev),abs(AvgLuma_rgh_prev),abs(AvgLuma_top_prev),abs(AvgLuma_btm_prev))
MaxLuma_next=max(abs(AvgLuma_lft_next),abs(AvgLuma_rgh_next),abs(AvgLuma_top_next),abs(AvgLuma_btm_next))
dif=mini.YDifferenceFromPrevious
dif_next=mini.trim(1,0).YDifferenceFromPrevious
dif_prev=(mini.trim(1,1)+mini).YDifferenceFromPrevious
GoodContrast = (max(mini.YPlaneMinMaxDifference,mini.trim(1,0).YPlaneMinMaxDifference)>20) ? 1 : 0
drop = (MaxLuma<0.1 && MaxLuma*2<max(MaxLuma_prev,MaxLuma_next) && dif*y_idx<max(dif_prev,dif_next)) ? 1 : 0
drop_lft = (AvgLuma_lft_prev*AvgLuma_lft_next>0 && abs(AvgLuma_lft*move_idx)<Max_lft && abs(AvgLuma_lft)<=min_move && dif*y_idx<max(dif_prev,dif_next)) ? 2 : 0
drop_rgh = (AvgLuma_rgh_prev*AvgLuma_rgh_next>0 && abs(AvgLuma_rgh*move_idx)<Max_rgh && abs(AvgLuma_rgh)<=min_move && dif*y_idx<max(dif_prev,dif_next)) ? 3 : 0
drop_top = (AvgLuma_top_prev*AvgLuma_top_next>0 && abs(AvgLuma_top*move_idx)<Max_top && abs(AvgLuma_top)<=min_move && dif*y_idx<max(dif_prev,dif_next)) ? 4 : 0
drop_btm = (AvgLuma_btm_prev*AvgLuma_btm_next>0 && abs(AvgLuma_btm*move_idx)<Max_btm && abs(AvgLuma_btm)<=min_move && dif*y_idx<max(dif_prev,dif_next)) ? 5 : 0
drop = (drop==0 && MaxLuma<Max_stop && Max_lft==Max_all) ? drop_lft : drop
drop = (drop==0 && MaxLuma<Max_stop && Max_rgh==Max_all) ? drop_rgh : drop
drop = (drop==0 && MaxLuma<Max_stop && Max_top==Max_all) ? drop_top : drop
drop = (drop==0 && MaxLuma<Max_stop && Max_btm==Max_all) ? drop_btm : drop
drop_dif = (dif<0.4 && MaxLuma<min_move) ? 6 : 0
drop = (drop==0 && drop_dif>0) ? drop_dif : drop
drop = (drop>0 && Max_all<0.1) ? 0 : drop
drop = (drop>0 && GoodContrast==0) ? 0 : drop
luma=mini.AverageLuma
luma_next=mini.trim(1,0).AverageLuma
max_luma=max(luma,luma_next)
drop = (drop>0 && max_luma<16.5) ? 0 : drop
(drop>0) ? luma_drop : \
(Max_lft==Max_all) ? luma_lft : \
(Max_rgh==Max_all) ? luma_rgh : \
(Max_top==Max_all) ? luma_top : luma_btm
")
global fix_r50=luma_lft.mt_lut(y=-1, u=128, v=128)
global fix_lr33=luma_lft.mt_lut(y=-2, u=128, v=128)
global fix_l50=luma_lft.mt_lut(y=-3, u=128, v=128)
global fix_r133=luma_lft.mt_lut(y=-4, u=128, v=128)
global fix_r66=luma_lft.mt_lut(y=-5, u=128, v=128)
global AvgDrop=127
global MaxMulty=10
global dblMulti=1.3
global fix_clip=luma_drop.ScriptClip("
drop=drop_clip.AverageLuma
AvgLuma=abs(128-drop_clip.AverageLuma)
AvgLuma_prev=abs(128-(drop_clip.trim(1,1)+drop_clip).AverageLuma)
AvgLuma_prev_= (AvgLuma_prev==AvgDrop) ? 0 : AvgLuma_prev
AvgLuma_prev2=abs(128-(drop_clip.trim(1,2)+drop_clip).AverageLuma)
AvgLuma_next=abs(128-drop_clip.trim(1,0).AverageLuma)
AvgLuma_next_= (AvgLuma_next==AvgDrop) ? 0 : AvgLuma_next
AvgLuma_next2=abs(128-drop_clip.trim(2,0).AverageLuma)
RightZero = (AvgLuma_prev_*MaxMulty<AvgLuma_next_) ? (AvgLuma_prev_>max_stop || AvgLuma_next_>max_stop) ? 1 : 0 : 0
LeftZero = (AvgLuma_next_*MaxMulty<AvgLuma_prev_) ? (AvgLuma_prev_>max_stop || AvgLuma_next_>max_stop) ? 1 : 0 : 0
drop = (AvgLuma==AvgDrop && AvgLuma_next==AvgDrop) ? -50 : 0
drop = (AvgLuma==AvgDrop && AvgLuma_prev==AvgDrop) ? 50 : drop
drop = (drop==0 && AvgLuma==AvgDrop && LeftZero==0 && RightZero==0) ? \
AvgLuma_prev_>AvgLuma_next_*dblMulti ? -50 : \
AvgLuma_prev_*dblMulti>=AvgLuma_next_ ? AvgLuma_next2==AvgDrop ? 50 : 33 : 50 : drop
drop = (drop==0 && AvgLuma==AvgDrop && RightZero==0 && AvgLuma_next2==AvgDrop) ? -50 : drop
drop = (drop==0 && AvgLuma==AvgDrop && LeftZero==0 && AvgLuma_prev2==AvgDrop) ? 66 : drop
(drop==50) ? fix_r50 : \
(drop==33) ? fix_lr33 : \
(drop==-50) ? fix_l50 : \
(drop==133) ? fix_r133 : \
(drop==66) ? fix_r66 : drop_clip
")
global r50=1
global lr33=2
global l50=3
global r133=4
global r66=5
super_params = (myGPU==true) ? "{gpu:1}" : "{gpu:0}"
analyse_params="{main:{search:{coarse:{distance:4,bad:{sad:2000}},type:2,distance:4},penalty:{lambda:1,pglobal:10000}},refine:[{thsad:65000}]}"
smoothfps_params="{rate:{num:12,den:1},algo:13,scene:{blend:true}}"
super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
fix_all = SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")
dummy = myDebug ? Eval("""
# These are for visual debugging (the "Subtitle" clauses)
global fix50 = fix_all.SelectEvery(12,6).Subtitle("fix50", align=3, size=myErrSize)
global fix33 = fix_all.SelectEvery(12,4).Subtitle("fix33", align=3, size=myErrSize)
global fix66 = fix_all.SelectEvery(12,8).Subtitle("-fix33", align=3, size=myErrSize)
global fix66p = fix_all.SelectEvery(12,8).Subtitle("fix66", align=3, size=myErrSize)
global fix75 = fix_all.SelectEvery(12,9).Subtitle("-fix25", align=3, size=myErrSize)
global fix50n = fix_all.SelectEvery(12,6).Subtitle("-fix50", align=3, size=myErrSize)
global fix133 = fix_all.SelectEvery(12,4).Subtitle("fix133", align=3, size=myErrSize)
global fix125 = fix_all.SelectEvery(12,3).Subtitle("fix125", align=3, size=myErrSize)
""") : Eval("""
global fix50 = fix_all.SelectEvery(12,6)
global fix33 = fix_all.SelectEvery(12,4)
global fix66 = fix_all.SelectEvery(12,8)
global fix66p = fix_all.SelectEvery(12,8)
global fix75 = fix_all.SelectEvery(12,9)
global fix50n = fix_all.SelectEvery(12,6)
global fix133 = fix_all.SelectEvery(12,4)
global fix125 = fix_all.SelectEvery(12,3)
""")
#SetMTMode(5)
ScriptClip("
AvgFix=fix_clip.AverageLuma
AvgFix_next=fix_clip.trim(1,0).AverageLuma
AvgFix_next2=fix_clip.trim(2,0).AverageLuma
AvgFix_next3=fix_clip.trim(3,0).AverageLuma
AvgFix_prev=(fix_clip.trim(1,1)+fix_clip).AverageLuma
(AvgFix==r50) \
? (AvgFix_next2==lr33 || AvgFix_next2==l50) ? fix33 : fix50 : \
(AvgFix==lr33) ? fix33 : \
(AvgFix_next==lr33) \
? (AvgFix_prev==r66) ? fix75.trim(1,1)+fix75 : fix66.trim(1,1)+fix66 : \
(AvgFix_next==l50) \
? (AvgFix_prev==lr33 || AvgFix_prev==r50) ? fix66.trim(1,1)+fix66 \
: (AvgFix_prev==r66) ? fix75.trim(1,1)+fix75 : fix50n.trim(1,1)+fix50n : \
(AvgFix==r66) \
? (AvgFix_next2==lr33 || AvgFix_next2==l50) ? fix50 : fix66p : \
(AvgFix_next==r66) \
? (AvgFix_next3==lr33 || AvgFix_next3==l50) ? fix125.trim(1,0) : fix133.trim(1,0) : \
last
")
#trim(0,framecount-threads)
}
# end of GameDropFixFuncs.avsi
It is single-threaded implementation. To make it multy-threaded you need to uncomment two lines: SetMTMode and trim.
You can use it from your script simply by write a line:
GameDropFixV4()
(gpu-acceleration in on, debug strings are off by default)
or full call of function:
GameDropFixV4(myGPU=true,myDebug=true,myErrSize=150)
SmoothVideo Project → Posts by MAG79
Powered by PunBB, supported by Informer Technologies, Inc.