fizs Member 195/705 ответов, #46 в рейтинге10 лет на iXBT , с марта 2014Чаще пишет в "Видеозахват" (28%) |
Что-то долго кодируется, решил убрать ConvertToYUV444 и второй момент , если использовать video = FFvideoSource("D:\VHS\Avi_Source\SvadbaAsi\Capture_20250104-204112_4.avi").assumefps(25.00) audio = FFaudioSource("D:\VHS\Avi_Source\SvadbaAsi\Capture_20250104-204112_4.avi") то после того как кидаю скрипт на батник кодирование очень долго не начинается, диск загружен на 100%, идет чтение, процессор и память вообще не задействованы, но батник висит и не начинается процесс. Подождал почти 10 мин и снял процеесс. А если вместо FFvideoSource использовать DirectShowSource2 , то после того как кидаю скрипт на батник, практически сразу начинается процесс обработки-кодирования, и процессор сразу загружен на 100%. Не знаю с чем это связано . Скрытый текстprefix="C:\Program Files (x86)\AviSynth+\" AddAutoloadDir(prefix+"plugins64")
setmemorymax(8000) video = FFvideoSource("D:\VHS\Avi_Source\SvadbaAsi\Capture_20250104-204112_4.avi").assumefps(25.00) audio = FFaudioSource("D:\VHS\Avi_Source\SvadbaAsi\Capture_20250104-204112_4.avi") AudioDub(video, audio) #DirectShowSource2("D:\VHS\Avi_Source\SvadbaAsi\Capture_20250104-204112_4.avi", fps=25.000, preroll=15)
ChangeFPS(last,last,true) # initiate a small forward buffer
ConvertToYV12(interlaced=true)
ColorMatrix(mode="Rec.601->Rec.709", inputFR=true, clamp=0) #корректировка цветовой шкалы если проверка показывает 0-255
#ConvertToYUV444(interlaced=true, matrix="Rec709", ChromaInPlacement="DV") ColorYUV(gamma_y=-25, cont_y=30, gain_y=-10, off_y=-0) #adjust gamma and contrast Tweak(bright=16, coring=false) #adjust brightness Tweak(Sat=1.2, startHue=80, endHue=135) # "red" pixels (boost up) Tweak(Sat=1.2, startHue=325, endHue=15) # "blue" pixels (boost up)
ApplyGradationCurves(lumaPoints="16,0,80,80,127,127,235,230,255,235", redPoints="16,0,127,123,255,240", greenPoints="16,0,129,125,255,240", bluePoints="16,0,128,138,255,240")
video_org_sep=last.separateFields ()
# select even fields video_org_sep_even=SelectEven(video_org_sep) # select odd fields video_org_sep_odd=SelectOdd(video_org_sep)
# denoiced + repair # Variant 1 #video_org_sep_even_rep=video_org_sep_even.DDN_MMB(tr=2, pel=2, blksize=16, truemotion=false, thSAD=321, thSAD2=300, thSCD1=256, thSCD2=96, limit=255, dct=8, VHS=true) # only 8bit #video_org_sep_odd_rep = video_org_sep_odd.DDN_MMB(tr=2, pel=2, blksize=16, truemotion=false, thSAD=321, thSAD2=300, thSCD1=256, thSCD2=96, limit=255, dct=8, VHS=true) # only 8bit
# Variant 2 #video_org_sep_even_rep=video_org_sep_even.Fizzkiller(tr=2, pel=2, sharp=1, blksize=8, truemotion=true, chroma=true, thSAD=321, thSAD2=300, thSCD1=300, thSCD2=102, limit=255, csharp=0.5, dct=5) #video_org_sep_odd_rep=video_org_sep_odd.Fizzkiller(tr=2, pel=2, sharp=1, blksize=8, truemotion=true, chroma=true, thSAD=321, thSAD2=300, thSCD1=300, thSCD2=102, limit=255, csharp=0.5, dct=5)
# Variant 3 #video_org_sep_even_rep=video_org_sep_even.VsmClean(thSAD=256, chroma=true, sharp=10, rn=14, rgmode=18, deband=4, depth=0, strength=18) #video_org_sep_odd_rep=video_org_sep_odd.VsmClean(thSAD=256, chroma=true, sharp=10, rn=14, rgmode=18, deband=4, depth=0, strength=18)
# interleave #video_interleaved=interleave(video_org_sep_even_rep,video_org_sep_odd_rep)
# weave #video_interleaved.Weave()
AssumeTFF() # верхнее поле первым #QTGMC(Preset="FAST", EZKeepGrain=1.0, Edithreads=1) #QTGMC(Preset="slow", Matchpreset="slow", Matchpreset2="slow", Sourcematch=3, tr1=2, tr2=1, NoiseTR=2, sharpness=0.1, Edithreads=1) QTGMC( Preset="Placebo", NoiseProcess=0, Edithreads=1) #QTGMC( Preset="fast", sharpness=0.3, Edithreads=1)
mergechroma(last) Crop(14,0,-12,-12) #MergeChroma(last,Spline36Resize(width()/2,height()).aWarpSharp2(depth=30).Spline36Resize(width(),height())) #maa2()
dehalo_blah(rx=1.8,ry=1.8,darkstr=0.45)#.yahr2(24)
# расчет определение размера кадра по ширине, при заданной высоте #~ HeightAfterCrop = Float(Height()) #Высота после обрезки #~ SquareWidthAfterCrop = Float(Width())*Float(59)/Float(54) #Ширина после обрезки в квадратных пикселях #~ Ksquare = SquareWidthAfterCrop/HeightAfterCrop #Соотношение сторон в квадратных пикселях #~ NewHeight = 576 #Новая высота #~ #NewHeight = 720 #Новая высота #~ NewWidth0 = Float(NewHeight)*Ksquare #Новая ширина точно #~ NewWidth = (Frac(NewWidth0/Float(16)) < 0.5) ? Floor(NewWidth0/Float(16))*16 : Ceil(NewWidth0/Float(16))*16 #Новая ширина # расчет вместо 768 выдает 784 , поэтому вручную укажем новые размеры NewHeight = 576 #Новая высота NewWidth = 768
#lanczosresizeMT(NewWidth, NewHeight) #deep_resize(NewWidth, NewHeight, flat="nnedi3",qual=1, grain=0, gpuid=-2,threads=1) #nnedi3_rpow2(rfactor=2, cshift="Spline36ResizeMT", nsize=4, nns=4, qual=1, etype=0, pscrn=2, threads=1, csresize=true, fwidth=NewWidth, fheight=NewHeight) deep_resize(NewWidth, NewHeight, flat="nnedi3",qual=2, grain=0, gpuid=-2,threads=1) FineDehalo(rx=2.8, ry=2.8, thmi=80, thma=128, thlimi=50, thlima=100, darkstr=0.0, brightstr=1.0, showmask=0, contra=0.0, excl=true) awarpsharp2(depth=4) CAS(0.5) #LSFmod(defaults="Fast", strength=40, Smode=3, Smethod=2, kernel=11, secure=false, Lmode=1, soft=0, soothe=true, keep=48, edgemode=1, edgemaskHQ=true)
#ex_unsharp( 0.15).ex_unsharp( 0.15, Fc=width()/1.5)
/* neo_f3kdb(15,64,42,42,0,0,sample_mode=2,dynamic_grain=true,keep_tv_range=true,dither_algo=3) gr = 0.3 size = 0.8 GrainFactory3mod(g1str=6*gr,g2str=8*gr,g3str=5*gr,g1size=1.4*size,g2size=1.3*size,g3size=1.2*size,g1cstr=1.5*gr,g2cstr=0.8*gr,g3cstr=0.5*gr,temp_avg=1,tv_range=true) */ F3KDB_3(range=20, Y=32, Cb=32, Cr=32, grainY=32, grainC=16, dither_algo=2) #ConvertBits(8,dither=1)
ConverttoYV12(interlaced=false, matrix="Rec709")
#Histogram("levels")
#a = (1280-NewWidth)/2 #AddBorders(a, 0, a, 0)
#FrostyBorders(1280,720,Feather=12)
assumefps(50.00)
Prefetch(8)
# -crf 17 -preset veryslow -tune film -me_range 24 -me_method umh -deblock -1:-1 -subq 10 -mbtree 0 -qcomp 0.68 -trellis 2 -refs 9 -bf 8 -g 50 -vf setsar=sar=1/1 -acodec aac -b:a 192k -af "volume=5dB" |