Selur's Little Message Board

Full Version: Awfull clip from news broadcast fix
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Hello there is this clip which I am trying to fix and then put it throught topaz. Basically it's an old news broadcast that I want to fix and I have tried some sutff, I have for example used all the artifact removers from hybrid but I want to know if there is something better we can do.


https://mega.nz/file/0MYHTaaJ#KRsD7zwtik...v5Eyh_rLfM
horrible over sharpened during capture, tons of artifacts, some of the frames are probably best replaced with interpolations,... content probably was once interlaced, got deinterlaced without fixing the fields first,... at the beginning the odd fields (now frames) all have problems,.. source also got wrongly resized.
=> Is this the 'original' version you have or did you already mess with it? (if you captured this, you might want to adjust your capturing settings,..)

Something like this: (SelectEvery, + rotated QTGMC + SpotLess + RemoveDirtMC + RIFE)
Code:
# Imports import ctypes import sys import os import vapoursynth as vs # getting Vapoursynth core core = vs.core # Limit frame cache to 48449MB core.max_cache_size = 48449 # Import scripts folder scriptPath = 'F:/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) # Loading Support Files Dllref = ctypes.windll.LoadLibrary("F:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") # loading plugins core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/FrameFilter/RIFE/librife.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/RemoveDirt/RemoveDirt.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/libeedi3vk.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/addnoise.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/mvtools.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/fmtconv.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/akarin/libakarin.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/zsmooth/zsmooth.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/libbestsource.dll") # Import scripts import misc import removeDirt import SpotLess import qtgmc import validate # Source: 'C:\Users\Selur\Desktop\big fix.mov' # clip current meta; color space: YUV444P12, bit depth: 12, resolution: 720x576, fps: 50, color matrix: 709, color primaries: Unspecific, color transfer: BT.709, yuv luminance scale: limited, scanorder: progressive, full height: true (Source) # Loading 'C:\Users\Selur\Desktop\big fix.mov' using BestSource clip = core.bs.VideoSource(source="C:/Users/Selur/Desktop/big fix.mov", cachepath="J:/tmp/big fix_bestSource", track=0, hwdevice="opencl", fpsnum=50) frame = clip.get_frame(0) # setting color matrix to 709. clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT709) # setting color transfer (vs.TRANSFER_BT709), if it is not set. if validate.transferIsInvalid(clip): clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT709) # 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. prop_name = '_Range' if core.core_version.release_major >= 74 else '_ColorRange' clip = core.std.SetFrameProps(clip=clip, **{prop_name: vs.RANGE_LIMITED}) # making sure frame rate is set to 50fps clip = core.std.AssumeFPS(clip=clip, fpsnum=50, fpsden=1) # making sure the detected scan type is set (detected: progressive) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive # adjusting frame with SelectEvery clip = core.std.SelectEvery(clip, cycle=2, offsets=[0]) # 25 clip = core.std.AssumeFPS(clip, fpsnum=25, fpsden=1) # new fps: 25 # rotating 90° clock wise for vsQTGMCFilterGimmick clip = core.std.FlipVertical(clip=clip) clip = core.std.Transpose(clip=clip) # Denoising using QTGMC clip = qtgmc.QTGMC(clip, Preset="Fast", InputType=1, TR2=1, SourceMatch=0, Lossless=0, opencl=True) # rotating 90° counter clock wise after vsQTGMCFilterGimmick clip = core.std.FlipHorizontal(clip=clip) clip = core.std.Transpose(clip=clip) # Spot removal using SpotLess clip = SpotLess.SpotLess(clip, radT=3, pel=1, mStart=True, mEnd=True) # adjusting color space from YUV444P12 to YUV444P8 for vsRemoveDirtMC clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P8) # denoising using VsRemoveDirtMC clip = removeDirt.RemoveDirtMC(clip) clip = misc.SCDetect(clip=clip,threshold=0.100) # adjusting color space from YUV444P8 to RGBS for vsRIFE clip = core.resize.Bicubic(clip=clip, format=vs.RGBS, matrix_in_s="709", range_in_s="limited", range_s="full") # adjusting frame count&rate with RIFE, target fps: 50fps clip = core.rife.RIFE(clip, model=58, fps_num=50, fps_den=1, sc=True) # new fps: 50 # adjusting output color from RGBS to YUV420P10 for NVEncModel clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, matrix_s="709", range_in_s="full", range_s="limited", dither_type="error_diffusion") # set output frame rate to 50fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=50, fpsden=1) # output clip.set_output()
seems like a start: https://www.mediafire.com/file/hshves8zx...t.mp4/file

Cu Selur
WOW.. you are a mage Selur.
Hi, Selur
On which version of hybrid are you using this code? On mine 2026.05.10.1 it doesn't work - plugins are missing
I used the last dev.
I didn't use any new filters,... the paths might have changed.
Note that you should not use that script, but rebuilt it in your Hybrid. Wink

Cu Selur
Thank you, many stuff have been fixed. I didn't caprture this they gave it to me like that.
So I want to ask, I seem to not have many of those options I have isntalled torch add-on and everything else from the downlaod page what would be the problem?
Wild guess: you installed a dev over another version and didn't deinstall the previous version.
This usually works fine, unless the i.e. the Vapoursynth version changed, or other larger changes took place. (also newer Hybrid dev versions might require an updated torch add-on)

If Hybrid detected the torch add-on, you can see:
Quote: torch-add-on:
VSGAN available,..
vsDPIR available,..
vsRIFE (torch) available,..
vsDRBA (torch) available,..
vsBasicVSR++ available,..
vsRealESRGAN available,..
vsSwinIR available,..
vsHINet available,..
vsAnimeSR available,..
vsFeMaSR available,..
vsSCUNet available,..
vsCodeFormer available,..
vsGRLIR available,..
vsDDColor available,..
vsHAVC available,..
vsProPainter available,..
vsDeepDeinterlace available,..
vsMFDin available,..
vsRVRT available,..
vsTemporalFix available,..
and for the mlrt-add-on
Quote: mlrt-add-on:
VSMLRT available,..
vsDPIR (mlrt) available,..
vsRIFE (mlrt) available,..
vsSAFA (mlrt) available,..
vsSCUNet (mlrt) available,..
vsSwinIR (mlrt) available,..
after the start-up of Hybrid in the Log-tab.

Cu Selur
Basically I uninstalled everything today deleted everything that was in the hybrid folder and downlaoded and reinstalled everythin with the 2026.03.21 version of hybrid

https://ibb.co/Kp33z85m

No idea if this helps
And what are you missing?
Are you perhaps not looking for missing filters, but the UI elements controlled by Filtering->Vapoursynth->Misc->UI?
Pages: 1 2 3