编写vpy脚本,这里引用洞房大佬的h265 1080p参数,其中一些地方根据自己配置调整即可
import vapoursynth as vs
import sys
import mvsfunc as mvf
import havsfunc as haf
#import sgvsfunc as sgvs
core = vs.get_core(threads=16) #使用CPU现成数
core.max_cache_size=4000 #限制内存消耗
########lwl压制滤镜###########
source=r"这里是文件的绝对路径"
src = core.lsmas.LWLibavSource(source,repeat=True,threads=16)
#########dg加载滤镜############
# core.avs.LoadPlugin(r"E:\plugins64\DGDecodeNV.dll")
# src = core.avs.DGSource(r"E:\1\1.dgi")
#########帧率调节
######23.976######
#src = core.std.AssumeFPS(src, fpsnum=24000, fpsden=1001)
########24###########
#src = core.std.AssumeFPS(src, fpsnum=24000, fpsden=1000)
########60##################
#src = core.std.AssumeFPS(src, fpsnum=60000, fpsden=1001)
##指定压制帧数#####################
#src = core.std.Trim(src, first=105241, last=210481)
##压前半段#####################
# src = core.std.Trim(src, first=0, last=(src.num_frames // 2) - 1)
##压后半段#####################
#src = core.std.Trim(src, first=(src.num_frames // 2), last=src.num_frames - 1)
##切边#####################
src8 = core.std.Crop(src, 0, 0, 274, 274)
src16 = mvf.Depth(src8, 16)
src8y = core.std.ShufflePlanes(src8, 0, vs.GRAY)
src16y = core.std.ShufflePlanes(src16, 0, vs.GRAY)
##KNL降噪##############
Y = core.resize.Bicubic(src16, src16.width / 2, src16.height / 2, src_left = -0.5)
down444 = core.std.ShufflePlanes([Y,src16], [0,1,2], vs.YUV)
nr16y = core.knlm.KNLMeansCL(src16, d=2, a=2, s=5, h=0.4, device_type="GPU")
nr16uv = core.knlm.KNLMeansCL(down444, d=1, a=2, s=5, h=0.2, channels="YUV", device_type="GPU")
nr16 = core.std.ShufflePlanes([nr16y,nr16uv], [0,1,2], vs.YUV)
##Debanding#######
dbed = core.f3kdb.Deband(nr16,8,48,48,48,0,0,output_depth=16)
dbed = core.f3kdb.Deband(dbed,16,32,32,32,0,0,output_depth=16)
dbed = mvf.LimitFilter(dbed,nr16,thr=0.5,elast=1.5)
res = dbed
Debug = 0
if Debug:
res = core.std.Interleave([src16,res])
res = mvf.ToRGB(res,full=False,depth=8)
else:
res = core.fmtc.bitdepth(res,bits=10)
res.set_output(0)
Comments | 0 条评论