This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Awfull clip from news broadcast fix
#1
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
Reply
#2
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)
# 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
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Offline between (including) 29th of June and 5th of July => RochHarz Festival
Reply
#3
WOW.. you are a mage Selur.
Reply
#4
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
Reply
#5
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
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Offline between (including) 29th of June and 5th of July => RochHarz Festival
Reply
#6
Thank you, many stuff have been fixed. I didn't caprture this they gave it to me like that.
Reply
#7
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?
Reply
#8
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
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Offline between (including) 29th of June and 5th of July => RochHarz Festival
Reply
#9
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
Reply
#10
And what are you missing?
Are you perhaps not looking for missing filters, but the UI elements controlled by Filtering->Vapoursynth->Misc->UI?
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Offline between (including) 29th of June and 5th of July => RochHarz Festival
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)