РАЗМЕР ИМЕЕТ ЗНАЧЕНИЕ Если свяжитесь с Годзиллой, то могут быть лишь два варианта: либо она вас, либо он вас. Зависит от пола Годзиллы.
Полнокадровая (open matte) FullHD телеверсия STARZ.
"Годзилла / Godzilla (Роланд Эммерих / Roland Emmerich) [1998, США, Япония, фантастика, боевик, триллер, WEB-DL 1080p] [Open Matte]"Широкоформатная UltraHD HDR.
"Годзилла / Godzilla 1998 ДБ , СТ / 4K, HEVC, HDR" Из UltraHD HDR сделал промежуточное только видео SDR. 90Гб (90 Mb/s).
ffmpeg.exe -hide_banner "-vsync" "passthrough" -nostdin -init_hw_device opencl=ocl:0.0 -i "Godzilla HDR.mkv" "-filter_complex" "[0:v]format=yuv444p10le,hqdn3d=0:0:3:3,format=pix_fmts=gbrapf32le[v0];[v0]zscale=transfer=linear:npl=100,tonemap=mobius:param=0.001:desat=0,zscale=range=limited:matrix=bt709:primaries=bt709:transfer=bt709,eq=gamma=0.92,colorchannelmixer=aa=0.75[v1];[v0]zscale=transfer=linear:npl=100,tonemap=hable:desat=0,zscale=range=limited:matrix=bt709:primaries=bt709:transfer=bt709,eq=gamma=1.24,colorchannelmixer=aa=0.25[v2];[v1][v2]overlay,format=p010le[vo]" "-map" "[vo]" -an -map_metadata -1 -map_chapters -1 -bsf:v hevc_metadata=colour_primaries=1:transfer_characteristics=1:matrix_coefficients=1 -c:v hevc_nvenc -profile:v main10 -pix_fmt p010le -b_ref_mode disabled -tag:v hvc1 -g 30 -preset p7 -tune hq -rc constqp -qp 15 -rc-lookahead 20 -spatial_aq 1 -aq-strength 15 -b:v 0 "Godzilla UHD.mkv"
Аппаратно кодировал с очень высоким качеством, слегка уменьшив временной шум. Подавление шума
перед преобразованием HDR - SDR. p010le для hevc_nvenc.
Можно было бы запускать сплошной пайп без промежуточного файла, но были бы замедления в реакции при отладке avisynth скрипта.
Отладку скрипта делал с AvsPmod. Например, для отладки ColorMatch поставил __END__ сразу после и временно отключил InpaintDelogo и Depan.
SetWorkingDir(" ... \tvaiplus\")
dir = ScriptDir() # video in script folder
LoadPlugin("common\LSMASHSource.dll")
# _______________________________/ OM /_______________________________
LWLibavVideoSource(dir+"Godzilla FHD.mkv", seek_mode=0, format="YUV444P8") # OM, FullHD fullscreen (open matte) SDR
# ______________________________ Delogo ______________________________
LoadPlugin("InpaintDelogo\grunt.dll")
LoadPlugin("InpaintDelogo\RT_Stats_x86.dll")
LoadPlugin("InpaintDelogo\AvsInPaint.dll")
LoadPlugin("InpaintDelogo\neo-fft3d.dll")
Import("InpaintDelogo\InpaintDelogo.avsi")
starz = dir+"STARZ..bmp"
stloc = "1620,956,152,46"
trim(0,4377-1)++trim(4377,5865-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(5865,18729-1)++trim(18729,20217-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(20217,33129-1)++trim(33129,34617-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(34617,47529-1)++trim(47529,49017-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(49017,61929-1)++trim(61929,63369-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(63369,76281-1)++trim(76281,77769-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(77769,90681-1)++trim(90681,92169-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(92169,105081-1)++trim(105081,106569-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(106569,119433-1)++trim(119433,120921-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(120921,133833-1)++trim(133833,135321-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(135321,148233-1)++trim(148233,149721-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(149721,162585-1)++trim(162585,164073-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(164073,176985-1)++trim(176985,178473-1).InpaintDelogo(mask=starz,Loc=stloc)++trim(178473,-0) #hide
OM = last
# _____________________________ OMdepan ______________________________
LoadPlugin("depan\Depan.dll")
LoadPlugin("depan\DepanEstimate.dll")
maxstab = 20
OM = StackHorizontal(OM.Crop(0, 0, 4, -0).BicubicResize(maxstab, OM.height), OM, OM.Crop(OM.width-4, 0, 4, -0).BicubicResize(maxstab, OM.height)) # l/r side pad blur
OM = StackVertical(OM.Crop(0, 0, -0, 4).BicubicResize(OM.width, maxstab), OM, OM.Crop(0, OM.height-4, -0, 4).BicubicResize(OM.width, maxstab)) # t/b side pad blur
mdata = DePanEstimate(OM, dxmax=maxstab,dymax=maxstab)
OM = DePanStabilize(OM, data=mdata,method=1,dxmax=maxstab,dymax=maxstab,rotmax=0,blur=33,zoommax=1.00)
OM = OM.Crop(maxstab, maxstab, -maxstab, -maxstab)
# _______________________________/ WS /_______________________________
WS0 = LWLibavVideoSource(dir+"Godzilla UHD.mkv", seek_mode=0, format="YUV444P10") # WS, UltraHD widescreen SDR
WScrlf = 0
WScrrt = 0
WScrtp = 280
WScrbm = 280
WSsdpd = 60
WSedsm = 6
WS0 = WS0.crop(WScrlf,WScrtp,-WScrrt,-WScrbm)
WS = StackHorizontal(WS0.Crop(0, 0, WSedsm, -0).BicubicResize(WSsdpd, WS0.height), WS0, WS0.Crop(WS0.width-WSedsm, 0, WSedsm, -0).BicubicResize(WSsdpd, WS0.height)) # side pad blur
WSqt = WS0.Spline64Resize(WS0.width/2,WS0.height/2) # quoter size
# ___________________________/ AutoOverlay /__________________________
LoadPlugin("AutoOverlay\AvsFilterNet.dll")
LoadNetPlugin("AutoOverlay\AutoOverlay_netautoload.dll")
Import("AutoOverlay\OverlayUtils.avsi")
# ____________________________ ColorMatch ____________________________
LoadPlugin("AutoLevels\AutoLevels_x86.dll")
# shift to autolevels and crop
OMal = autolevels(OM,filterRadius=5,sceneChgThresh=10,ignore_low=0.003,ignore_high=0.003,output_low=0,output_high=235, border_t=18, border_b=18, border_l=32, border_r=32, autogamma=true)
OMal = Overlay(OM, OMal, mode="blend", opacity=0.12).ConvertBits(10).crop(0,WScrtp/2,0,-WScrbm/2)
# shift to autolevels
WSal = autolevels(WSqt.ConvertBits(8),filterRadius=5,sceneChgThresh=10,ignore_low=0,ignore_high=0,output_low=0, output_high=235, border_t=18, border_b=18, border_l=32, border_r=32, autogamma=true)
WSal = Overlay(WSqt.ConvertBits(8), WSal, mode="blend", opacity=0.12).ConvertBits(10)
# compare cropped and levelled OM/WS, apply to OM
OMmt = ColorMatch(OM.ConvertBits(10), WSal, OMal, frameDiff=1, exclude=0, greyMask=false, dither=0.95, gradient=384000)
# _____________________________ Position _____________________________
Import("NonlinUSM\NonlinUSM.avs")
# local contrast for easier match
OMol = OMmt.NonlinUSM(z=6, pow=1, str=0.75, rad=96).NonlinUSM(z=6, pow=1, str=0.55, rad=32).ConvertBits(8).ConvertToYV12()
WSol = WS.NonlinUSM(z=6, pow=1, str=0.75, rad=96).NonlinUSM(z=6, pow=1, str=0.55, rad=32).ConvertBits(8).ConvertToYV12()
OverlayEngine(OMol, WSol, configs = OverlayConfig(preset="High", RequiredSampleArea=14400, MinSampleArea=14400, subpixel=1, branches=1, acceptableDiff=8, FixedAspectRatio=false), mode="ENHANCE", stabilize=false, scan=false, frameAreaTolerance=0.000, frameDiffTolerance=0.000, backwardFrames=5, forwardFrames=5, stickDistance=0, presize="Spline36Resize")
# ______________________________ Render ______________________________
OverlayRender(OMmt, WS, debug=false, downsize="Spline36Resize", upsize="Spline36Resize", gradient=50, edgeGradient="full", noise=50, opacity=1, width=3840, height=2160, fixedSource=true)
__END__
store any debugging variants here, clean at successУбрал логотип (только на кадрах, где он был) с помощью InpaintDelogo. Логотип STARZ. не менял ни размер :-) ни местоположение на экране уже несколько лет. Использовал одну и ту же маску STARZ..bmp на нескольких фильмах.
Убрал мелкие подёргивания основы с Depan. Помогло работе OverlayEngine.
У плагина AutoOverlay так много малопонятных параметров. Приходилось устраивать очную ставку описания плагина и ChatGPT. Последний вообще хорош для уточнения знаний.
Обычно яркость/цвета наложения приводят к яркости/цветам основы. В моём случае именно широкоформатное наложение UHD SDR выглядит заметно предпочтительнее. Не получилось
идеально поправить полнокадровую основу, сравнивая
полоски основы и наложения. Может, никто не заметит? :-)
Результат полирнул топазом.
model=iris-2:scale=1:noise=0.1:details=0.1:blur=0.1:compression=0.1
В 10-и битный HEVC (h.265) кодировал программно (crf=19).
-bsf:v hevc_metadata=colour_primaries=1:transfer_characteristics=1:matrix_coefficients=1 -c:v libx265 -x265-params sar=1:aq-mode=2:deblock=-3,-3:crf=19.0:interlace=0:no-info=1
2:18:43 25GB HEVC 3840x2160 10bit BT709 16:9 23.976 15.3Mb/s(15GB) Ru Dolby Atmos 8ch 48kHz 5.5Mb/s(5GB) Ru DD 6ch 48kHz 0.6Mb/s(1GB) En Dolby Atmos 8ch 48kHz 4.0Mb/s(4GB) Ru PGS/UTF-8 forced En PGS 

гибрид 4K SDR
100 часов рендеринга!
Не возражал бы, если кто раздаст кино на трекере 🦖Если кто захочет поправить огрехи на небольших кусочках, то вырезайте отрывок по
ключевым кадрам, правьте, кодируйте с очень высоким качеством и присылайте мне. Я заменю кусочек в своём файле.


RSVP
post edited by TOPAZAVR - 2025/05/27 17:48:29