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.
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.
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.
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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)