Selur's Little Message Board
help please - Printable Version

+- Selur's Little Message Board (https://forum.selur.net)
+-- Forum: Talk, Talk, Talk (https://forum.selur.net/forum-5.html)
+--- Forum: Small Talk (https://forum.selur.net/forum-7.html)
+--- Thread: help please (/thread-4358.html)

Pages: 1 2 3 4 5


help please - lsd4me2 - 01.04.2026

[img][Image: 03596.png] [Image: 03597.png] [Image: 03598.png][/img]

Backing up up my Simpsons dvd collection.  I did  tivtc with qtgmc fast, VInverse2, KNLMeansCL, YAHR, Santiag followed by a NNEDi3 resize to convert to square pixels at 640x480. The result is great except for about 100 frames around the 2:30 mark. It seems to be imbedded in the source as it occurs even when i play the  untouched vob ripped from the disc. Any idea's of how to fix this? Can i just fix the 100 or so problem frames without messing  with the rest of the episode?


RE: help please - Selur - 02.04.2026

Simpsons, Futurama, Family Guy and some other DVD collections are known for kind of messed up authored content.
You can't set different TIVTC setting inside Hybrid for different sections.
You could always choose to manually replace single frames with interpolations.
Tuning the TIVTC setting might also help.
Would need a short (unporcessed) sample of the problematic section to give direct advice.

Cu Selur

Ps.: will move this to the 'Small Talk'-section.


RE: help please - lsd4me2 - 03.04.2026

ok, this script is a miss, i dont unerstand obviously, my  crop,resize, color space conversionia set to last step in filter order, wtf is it converting colot space 6 times for nothings? 
# Imports import vapoursynth as vs # getting Vapoursynth core import ctypes import sys import os core = vs.core # Import scripts folder scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) # Loading Support Files Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") # loading plugins core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/DCTFilter.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeblockFilter/Deblock/Deblock.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeinterlaceFilter/TIVTC/libtivtc.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/EEDI3m.dll") # DeinterlaceFilter-Selector core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/libmvtools.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/fmtconv.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/akarin.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/ZSmooth/zsmooth.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DerainbowFilter/BiFrost/libbifrost.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DerainbowFilter/DeCross/libdecross.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/vszip.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeinterlaceFilter/TDeintMod/TDeintMod.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll") # defining beforeDeCross-function - START def beforeDeCross(clip): clip = core.deblock.Deblock(clip, quant=25) clip = core.std.SetFrameProps(clip, _FieldBased=1) return [clip] # defining beforeDeCross-function - END # Import scripts import deblock import dehalo import antiAliasing import denoise import qtgmc import validate # Source: 'D:\Season 2 disk 1\A1_t00.mkv' # Current color space: YUV420P8, bit depth: 8, resolution: 720x480, frame rate: 29.97fps, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg, format: mpeg-2 # Loading 'D:\Season 2 disk 1\A1_t00.mkvÄ using LWLibavSource clip = core.lsmas.LWLibavSource(source="D:/Season 2 disk 1/A1_t00.mkv", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0) frame = clip.get_frame(0) # setting color matrix to 470bg. clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG) # setting color transfer (vs.TRANSFER_BT601), if it is not set. if validate.transferIsInvalid(clip): clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT601) # setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set. if validate.primariesIsInvalid(clip): clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG) # setting color range to TV (limited) range. clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED) # making sure frame rate is set to 29.97fps clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001) # making sure the detected scan type is set (detected: top field first) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # scan type: top field first # converting interlaced to full-height progressive for filtering (vsCheckmate) (using: TDeint()) clip = core.tdm.TDeintMod(clip=clip, order=1, mode=1) # new fps: 59.94 # Making sure content is preceived as frame based clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive clip = core.vszip.Checkmate(clip, thr=5, tthr2=3) # converting full-height progressive to interlaced (top field first) clip = core.std.SelectEvery(clip=clip, cycle=2, offsets=[0]) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # scan type: top field first [clip] = beforeDeCross(clip) # clip current meta; color space: YUV420P8, bit depth: 8, resolution: 720x480, fps: 29.97, color matrix: 470bg, yuv luminance scale: limited, scanorder: top field first, full height: true # rainbow removal using DeCross clip = core.decross.DeCross(clip, thresholdy=25) # rainbow removal using BiFrost clip = core.bifrost.Bifrost(clip, luma_thresh=2.00, interlaced=True) clip2clip = clip clip2clip = qtgmc.QTGMC(Input=clip2clip, Preset="fast", TFF=False, FPSDivisor=2) # Deinterlacing using TIVTC clip = core.tivtc.TFM(clip, metric=1, clip2=clip2clip) clip = core.tivtc.TDecimate(clip, mode=1) # new fps: 23.976 # Making sure content is preceived as frame based clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive # denoising using MCTemporalDenoise clip = denoise.MCTemporalDenoise(clip, settings="low", thSAD=200, thSAD2=300, thSCD1=300, thSCD2=90, truemotion=False, MVglobal=True, pel=2, pelsearch=4, search=5, searchparam=4, MVsharp=0, DCT=0, ncpu=1) # Anti Aliasing using DAAMod clip = antiAliasing.daamod(clip, nns=3, qual=2, pscrn=1, rep=6, opencl=True, device=0) # applying dehalo using DeHalo_alpha clip = dehalo.DeHalo_alpha(clip, rx=1.25, ry=1.25) clip = core.std.Crop(clip, left=8, right=8, top=4, bottom=4) # cropping to 704x472 # Resizing using fmtconv - spline36 clip = core.fmtc.resample(clip, kernel="spline36", w=640, h=430, interlaced=False, interlacedd=False) # resolution 640x430 before YUV420P8 after YUV420P16 # applying deblocking using DeBlock QED clip = deblock.Deblock_QED(clip) # adjusting output color from YUV420P16 to YUV444P16 for PNGModel clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16) # set output frame rate to 23.976fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001) # output clip.set_output() # script was created by Hybrid 2026.03.21.1

also please dumb down you anser/solutions  to gui specific settings, im not using a gui to code


RE: help please - Selur - 03.04.2026

Strange script.
No, clue why the custom section is there, deblocking before deinterlacing seems wrong.
Also, you can change the order of filters in Hybrid (Filtering->Vapoursynth->Misc->Filter Order/Queue) and deblock does come with Hybrid.

Quote:, wtf is it converting colot space 6 times for nothings?
I see only two color space conversions, one by fmtconv (during the resizing) and one for the PNG output.

Cu Selur

Ps.: like I wrote, for a suggestion I would need an unprocessed sample of the source. (i.e. use mkvtoolnix to split the source mkv)


RE: help please - lsd4me2 - 06.04.2026

how can i post a small unprocessed clip when all the sites i can link to here (daily motion, vimeo, facbook etc) reencode uploaded video? Also my new script
# Source: 'D:\Season 2 disk 1\A1_t00.mkv' # Current color space: YUV420P8, bit depth: 8, resolution: 720x480, frame rate: 29.97fps, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg, format: mpeg-2 # Loading 'D:\Season 2 disk 1\A1_t00.mkvÄ using LWLibavSource clip = core.lsmas.LWLibavSource(source="D:/Season 2 disk 1/A1_t00.mkv", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0) frame = clip.get_frame(0) # setting color matrix to 470bg. clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG) # setting color transfer (vs.TRANSFER_BT601), if it is not set. if validate.transferIsInvalid(clip): clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT601) # setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set. if validate.primariesIsInvalid(clip): clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG) # setting color range to TV (limited) range. clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED) # making sure frame rate is set to 29.97fps clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001) # making sure the detected scan type is set (detected: top field first) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # scan type: top field first # rainbow removal using DeCross clip = core.decross.DeCross(clip, thresholdy=25) # rainbow removal using BiFrost clip = core.bifrost.Bifrost(clip, luma_thresh=2.00, conservative_mask=True, interlaced=True) # Deinterlacing using TIVTC clip = core.tivtc.TFM(clip) clip = core.tivtc.TDecimate(clip, mode=1) # new fps: 23.976 # Making sure content is preceived as frame based clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive # denoising using MCTemporalDenoise clip = denoise.MCTemporalDenoise(clip, settings="low", thSAD=200, thSAD2=300, thSCD1=300, thSCD2=90, truemotion=False, MVglobal=True, pel=1, pelsearch=4, search=5, searchparam=4, MVsharp=0, DCT=0, ncpu=1) # applying deblocking using DeBlock QED clip = deblock.Deblock_QED(clip) # applying dehalo using DeHalo_alpha clip = dehalo.DeHalo_alpha(clip, rx=1.50, ry=1.50, darkstr=0.80) # Anti Aliasing using DAAMod clip = antiAliasing.daamod(clip, nns=3, pscrn=1, rep=6, opencl=True, device=0) clip = core.std.Crop(clip, left=8, right=8, top=4, bottom=4) # cropping to 704x472 # Resizing using fmtconv - spline64 clip = core.fmtc.resample(clip, kernel="spline64", w=640, h=480, interlaced=False, interlacedd=False) # resolution 640x480 before YUV420P8 after YUV420P16 # ColorMatrix: adjusting color matrix from 470bg to 709 # adjusting luma range to 'limited' due to post clipping clip = core.resize.Bicubic(clip, matrix_in_s="470bg", matrix_s="709", range_in=0, range=0) # adjusting output color from YUV420P16 to YUV420P8 for UTVideoModel clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8) # set output frame rate to 23.976fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001) # output clip.set_output() # script was created by Hybrid 2026.03.21.1



RE: help please - Selur - 06.04.2026

You could use GoogleDrive, MediaFire, Dropbox, file.io, wormhole, ... There are tons of was.

Cu Selur


RE: help please - lsd4me2 - 06.04.2026

https://drive.google.com/file/d/176xoM4aLo4tyR9L6cNeAJ8dkheX6dmcv/view?usp=sharing
 

ALso my reworked script, 
# Source: 'D:\Season 2 disk 1\A1_t00.mkv' # Current color space: YUV420P8, bit depth: 8, resolution: 720x480, frame rate: 29.97fps, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg, format: mpeg-2 # Loading 'D:\Season 2 disk 1\A1_t00.mkvÄ using LWLibavSource clip = core.lsmas.LWLibavSource(source="D:/Season 2 disk 1/A1_t00.mkv", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0) frame = clip.get_frame(0) # setting color matrix to 470bg. clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG) # setting color transfer (vs.TRANSFER_BT601), if it is not set. if validate.transferIsInvalid(clip): clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT601) # setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set. if validate.primariesIsInvalid(clip): clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG) # setting color range to TV (limited) range. clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED) # making sure frame rate is set to 29.97fps clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001) # making sure the detected scan type is set (detected: top field first) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # scan type: top field first # rainbow removal using DeCross clip = core.decross.DeCross(clip, thresholdy=25) # rainbow removal using BiFrost clip = core.bifrost.Bifrost(clip, luma_thresh=2.00, conservative_mask=True, interlaced=True) # Deinterlacing using TIVTC clip = core.tivtc.TFM(clip) clip = core.tivtc.TDecimate(clip, mode=1) # new fps: 23.976 # Making sure content is preceived as frame based clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive # denoising using MCTemporalDenoise clip = denoise.MCTemporalDenoise(clip, settings="low", thSAD=200, thSAD2=300, thSCD1=300, thSCD2=90, truemotion=False, MVglobal=True, pel=1, pelsearch=4, search=5, searchparam=4, MVsharp=0, DCT=0, ncpu=1) # applying deblocking using DeBlock QED clip = deblock.Deblock_QED(clip) # applying dehalo using DeHalo_alpha clip = dehalo.DeHalo_alpha(clip, rx=1.50, ry=1.50, darkstr=0.80) # Anti Aliasing using DAAMod clip = antiAliasing.daamod(clip, nns=3, pscrn=1, rep=6, opencl=True, device=0) clip = core.std.Crop(clip, left=8, right=8, top=4, bottom=4) # cropping to 704x472 # Resizing using fmtconv - spline64 clip = core.fmtc.resample(clip, kernel="spline64", w=640, h=480, interlaced=False, interlacedd=False) # resolution 640x480 before YUV420P8 after YUV420P16 # ColorMatrix: adjusting color matrix from 470bg to 709 # adjusting luma range to 'limited' due to post clipping clip = core.resize.Bicubic(clip, matrix_in_s="470bg", matrix_s="709", range_in=0, range=0) # adjusting output color from YUV420P16 to YUV420P8 for UTVideoModel clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8) # set output frame rate to 23.976fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001) # output clip.set_output() # script was created by Hybrid 2026.03.21.1



RE: help please - Selur - 06.04.2026

Can't access the clip.(requires authentification)
Please use
[code][/code]
tags.

Cu Selur


RE: help please - lsd4me2 - 06.04.2026

https://drive.google.com/file/d/1gMzWnJ-BhUUDPfIz9NRzS6TBMt2qqcjI/view?usp=sharing
is this what you means? lol idk


RE: help please - Selur - 06.04.2026

still requires authentification,..