leonvent 发表于 2018-3-18 16:30:07

VapourSynth脚本能不能转换成AviSynth脚本?

这个是HDR转SDR的VapourSynth脚本,但我并不熟悉VapourSynth,能转换成AviSynth脚本吗import vapoursynth as vs
core = vs.get_core()
c = core.ffms2.Source(source = 'path/to/file')
source_peak=1200 #set manually
c=core.resize.Bilinear(clip=c, format=vs.YUV444PS, range_in_s="limited", range_s="full",chromaloc_in_s="center",dither_type="none")
c=core.resize.Bilinear(clip=c, format=vs.RGBS, matrix_in_s="2020ncl", range_in_s="full",dither_type="none")
c=core.resize.Bilinear(clip=c, format=vs.RGBS, transfer_in_s="st2084", transfer_s="linear",dither_type="none", nominal_luminance=source_peak)
exposure_bias=source_peak/100
#hable/uncharted tone mapping
tm = core.std.Expr(c, expr="x {exposure_bias} * 0.15 x {exposure_bias} * * 0.05 + * 0.004 + x {exposure_bias} * 0.15 x {exposure_bias} * * 0.50 + * 0.06 + / 0.02 0.30 / - ".format(exposure_bias=exposure_bias),format=vs.RGBS)#12=1200 nits / 100 nits
w = core.std.Expr(c, expr="{exposure_bias} 0.15 {exposure_bias} * 0.05 + * 0.004 + {exposure_bias} 0.15 {exposure_bias} * 0.50 + * 0.06 + / 0.02 0.30 / - ".format(exposure_bias=exposure_bias),format=vs.RGBS)#
c = core.std.Expr(clips=, expr=" x 1 y / * ",format=vs.RGBS)
#c=core.fmtc.primaries(clip=c, prims="2020", primd="709")
c=core.resize.Bilinear(clip=c, format=vs.RGBS, primaries_in_s="2020", primaries_s="709",dither_type="none")
c=core.resize.Bilinear(clip=c, format=vs.RGBS, transfer_in_s="linear", transfer_s="709",dither_type="none")
c=core.resize.Bilinear(clip=c, format=vs.YUV420P8, matrix_s="709", range_in_s="full",range_s="limited",chromaloc_in_s="center")
c.set_output()

boday 发表于 2018-3-18 17:09:27

现在应该没有什么片子只有 hdr 不出 sdr 吧……直接去下 sdr 的不就好了?

就算是只有 hdr 的,无论是 mpv 还是 madvr 都可以直接处理 tone mapping,为什么要用 vs/avs 来做?

leonvent 发表于 2018-3-18 18:22:14

boday 发表于 2018-3-18 17:09
现在应该没有什么片子只有 hdr 不出 sdr 吧……直接去下 sdr 的不就好了?

就算是只有 hdr 的,无论是 mpv ...
有时候做字幕还是要用从UHD上截一些片段用,所以我需要avs脚本
页: [1]
查看完整版本: VapourSynth脚本能不能转换成AviSynth脚本?