versuche es mit dem Link nochmal:
Hybrid: Input -> x264/x265/Xvid/VP8/VP9/AV1
-
-
Ja, jetzt ist was drinnen.
ARGH, h.265 progressive, also vermutlich schon einiges gefiltert.
(aus dem Original die Artefakte entfernen wäre vermutlich wesentlich besser)
-
Ausgehend von dem Material sehe ich keine Möglichkeit die Artefakte zu entfernen ohne unmengen an Details zu verwerfen.
Da kriegt man bessere Ergebnisse wenn man von den Original DVDs startet,
Cu Selur
-
Hmm, zu dem Ergebnis kam ich leider auch. Ich hatte noch die kleine Hoffnung, du kennst da noch einen Trick
Ok, in jedem Fall vielen Dank fürs Drüberschauen
-
Problem wie wenn man Material hat wo die Leute ihr interlactes Material nehmen, es nicht deinterlacen, progressive resizen und progressive speichern. So Zeug kriegt amn auch irgendwie gesäubert, aber man kriegt hat ne Qualität dabei die schlechter ist als das eigentliche Original. Je mehr geresized wurde desto mehr ist kaputt und wenn da per Machine Learning resized wurde ist es nur schlimmer.
Sowas zu machen macht halt nur Sinn, wenn es da Material nicht in besserer Qualität gibt, aber bei DVD upscales macht das keinen Sinn.
Cu Selur
-
Nur der Vollständigkeithalber:
Korrektur mit entsprechendem masking geht es schon,...
Code
Display More# Imports import vapoursynth as vs import os import ctypes # Loading Support Files Dllref = ctypes.windll.LoadLibrary("i:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") import sys # getting Vapoursynth core core = vs.core # Import scripts folder scriptPath = 'i:/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) # Loading Plugins core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/DenoiseFilter/CTMF/CTMF.dll") core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll") core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/DenoiseFilter/HQDN3D/libhqdn3d.dll") core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll") core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/libmvtools.dll") core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll") # defining beforeDeCross-function - START def beforeDeCross(clip): core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/fmtconv.dll") import havsfunc clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P8, range_s="full", dither_type="error_diffusion") clipMask = havsfunc.LUTDeRainbow(input=clip,mask=True) clipFiltered = core.fmtc.resample(clip=clip, w=1426, h=120, kernel="lanczos", interlaced=False, interlacedd=False) clipFiltered = core.fmtc.resample(clip=clipFiltered, w=1426, h=1080, kernel="lanczos", interlaced=False, interlacedd=False) clipFiltered = core.resize.Bicubic(clip=clipFiltered, format=vs.YUV444P8, range_s="full", dither_type="error_diffusion") clipMask = core.std.InvertMask(clipMask) clip = core.std.MaskedMerge(clip, clipFiltered, clipMask) # colorformat YUV444P8 return clip # defining beforeDeCross-function - END # Import scripts import rescued # source: 'C:\Users\Selur\Desktop\S04E12 - Leben nach dem Tod.mkv' # current color space: YUV420P10, bit depth: 10, resolution: 1426x1080, fps: 23.976, color matrix: 709, yuv luminance scale: full, scanorder: progressive # Loading C:\Users\Selur\Desktop\S04E12 - Leben nach dem Tod.mkv using LWLibavSource clip = core.lsmas.LWLibavSource(source="C:/Users/Selur/Desktop/S04E12 - Leben nach dem Tod.mkv", format="YUV420P10", cache=0, prefer_hw=0) # Setting color matrix to 709. clip = core.std.SetFrameProps(clip, _Matrix=1) clip = clip if not core.text.FrameProps(clip,'_Transfer') else core.std.SetFrameProps(clip, _Transfer=1) clip = clip if not core.text.FrameProps(clip,'_Primaries') else core.std.SetFrameProps(clip, _Primaries=1) # Setting color range to PC (full) range. clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=0) # making sure frame rate is set to 23.976 clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001) original = clip clip = beforeDeCross(clip) # current meta; color space: YUV444P8, bit depth: 8, resolution: 1426x1080, fps: 23.976, color matrix: 709, yuv luminance scale: full, scanorder: progressive # removing grain using TemporalDegrain clip = rescued.TemporalDegrain(inpClip=clip) # adjusting output color from: YUV420P10 to YUV420P8 for x264Model original = core.resize.Bicubic(clip=original, format=vs.YUV420P8, range_s="full", dither_type="error_diffusion") # adjusting output color from: YUV444P8 to YUV420P8 for x264Model clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="full") original = core.text.Text(clip=original,text="Original",scale=2) clip = core.text.Text(clip=clip,text="Filtered",scale=2) stacked = core.std.StackHorizontal([original,clip]) # set output frame rate to 23.976fps stacked = core.std.AssumeFPS(clip=stacked, fpsnum=24000, fpsden=1001) # Output stacked.set_output()
[Blocked Image: https://i.ibb.co/4jnqrkk/mask1.png]
[Blocked Image: https://i.ibb.co/F8KBqkZ/mask2.png]
[Blocked Image: https://i.ibb.co/qrBfjC0/mask3.png]
Idee ist einfach: Mask von LUTDeRainbow nehmen und filtern in dem man einfach die Auflösung stark verkleinert (und wieder vergrößert, man könnte auch einfach kräftig blurren), Dananch dann noch ein DeGrain/Noise zum Aufräumen. Das Skript was ich gepostet habe zeigt nur wie es an sich geht, man müsste das Aufräumen noch tweaken,.. (die Maske könnte man auch noch etwas verbessern)
Lohnt aber meiner Ansicht nach nicht den Aufwand zu betreiben, aber wer will hat damit nen Ansatz.
Cu Selur
-
Hmm, danke. Werde ich morgen gleich nochmal testen. Einige Folgen hab ich inzwischen nochmal komplett neu bearbeitet, aber mal sehen, wie viel Aufwand es ist, ob wie viel Zeit ich damit spare und wieviel Details auf der anderen Seite verloren gehen.
Vielen Dank schonmal in jedem Fall
-
Und mal angetestet?
-
sry für die späte Antwort.
Ja, grundsätzlich wird das Flimmern besser aber der Detailverlust hat mich nun doch dazu animiert, es einfach nochmal komplett neu und diesmal ordentlich zu machen
-
Hab ich mir gedacht, vor allem weil LUTDeRainbow auch nicht gerade flott ist.
-
Hab noch was zu fft3dgpu in Hybrid. Ein paar Optionen sind in Hybrid nicht umgesetzt, aber die ein oder andere ist vielleicht doch nützlich:
Quotefloat degrid = 1.0
Enables degriding. Only works well with
mode=1
. Doesn't degrid the Kalman filter (but it does degrid the sharpening (if enabled) after kalman filter). default 1.0 formode=1
, 0.0 formode=0
or 2.float scutoff = 0.3
Sharpening cutoff frequency, relative to max.
float svr = 1.0
Sharpening (and dehalo) vertical ratio (to horizontal) (default=1.0 - same as horizontal, 0 - no vertical sharpening)
float smin = 4.0
float smax = 20.0
Minimum and maximum limit (approximate noise margin) for sharpening stage.
float kratio = 2.0
Ratio of threshold to sigma to reset Kalman filter. Variation threshold =
sigma*kratio
, good value is about from 1.5 to 3.0int ow = bw/2
int oh = bh/2
Overlap width and height. This only works with
mode=1
. This specifies how big the overlap between the blocks are. Overlap size must be less than or equal to half the blocksize.ow
must be even.int wintype = 0
weighting windows type:
- 0 : same analysis and synthesis half-cosine window, used in all versions before 1.4.
- 1 : intermediate between 0 and 2
- 2 : flat analysis window, rised cosine (Hanning) synthesis window.
Vielleicht bekommt man mit degrid den ein oder anderen Gitterartefakt, der bei manchen Auflösungen, bestimmten bw Größen und beim Erhöhen von bordersize im mode 2 auftritt, damit in den Griff...
Und was ich auch erst jetzt bemerkt habe, ist dass negative Werte beim Sharpening ein Smoothing bewirken. Damit sind auch die ganzen sharpening Feintuning Einstellungen scutoff, smin und smax (den Schreibfehler ausm AviSynth Wiki hab ich gleich mal oben entfernt, da steht 2x smin...) interessant. Sharpening bzw. Smoothing auf bestimmte Bereiche zu begrenzen hört sich auch gut an, da es sich auch eher nur um einen leichten Effekt handelt, kann man den möglicherweise durch Anheben des smin Wertes oder ändern der scutoff Frequenz noch etwas verstärken/verändern.
Kann ja auch durch setzen von bw=-1 unabhängig vom denoising verwendet werden, und schon hat man einen GPU basierten sharpener/smoother.
Wintype verstehe ich zwar nicht wirklich, aber möglicherweise beeinflusst das die Arbeitsweise und auch Performance des Filters?!?
Auch noch Wert drüber nachzudenken:
https://gleitz.info/forum/index.ph…5948#post465948https://gleitz.info/forum/index.ph…5948#post4659484K UHD Denoising mit FFT3DGPU,FFT3DFilter,neo_fft3d (Performance,Bugs,VapourSynth-Umsetzung,...)
-
kann ich nachher mal draufschauen,...
-
Wenn ich bei der aktuellen Hybrid Version mehrere Video Dateien auswähle und zu Jobs hinzufüge, erhalte ich immer die folgende Meldung:
"does not exist and contains not enough job or subjob id,..."
Wenn ich die Dateien alle einzeln auswähle, kommt diese Meldung nicht und alles funktioniert.
-
ich schick Dir mal nen Link zu meiner aktuellen dev Version
-
Guten Abend Selur,
ich habe auf meinem zweiten PC (Windows11) gestern die neuste Hybrid Version 2022.12.31.1 installiert und dabei die Einstellungen beibehalten, die ich am PC1 (Windows10) und der Hybrid Version 2020.12.13.1 nutze. Bei einer mittels VirtualDub2 neu erstellten AVI brechen beide Hybrid Versionen das Encodieren in mp4 am Schritt "creating mp4 file with MP4 Box" ab, wobei ich am alten PC wenigstens eine mp4 Datei erhalte, die ich zb. mit VideoRedo TV Suite in eine funktionierende mp4 wandeln kann, während am neuen PC dieser Prozessschritt direkt am Anfang abbricht.
Kannst du anhand der DebugOutput Datei erkennen, woran das liegt?
Vom neuen PC:
https://mega.nz/file/Vx8iEbjL#…RWVLP8R4GO0Owws
Vielen Dank
Mifsud
-
x264 meldet "y4m [error]: bad sequence header magic" -> da stimmt was nicht mit dem Vapoursynth script.
Schicke Dir mal nen Link zu meiner aktuellen dev Version eventuell habe ich das Problem schon vor ner Weile behoben.
Cu Selur
-
Ich habe dir über die PM dazu geantwortet.
Die letzten Dateien stehen scheinbar unter keinem guten Stern. Ich habe jetzt unter der alten Hybrid 2020.12.13.1 einen weiteren Abbruch. Dieses mal unter "encoding Video to MPEG4-AVC with x264 (1pass constant rate factor)
Vielleicht kannst du es dir bei Gelegenheit auch mit anschauen.
Besten Dank, Viktor
-
Sorry, aber die Version ist einfach zu alt, als das ich da mehr sagen kann als was kaputt it.
-
Okay kein Ding. Werde das gleiche Video mit der zugeschickten Dev Version testen.
-
Hybrid rev 2022.11.26.1:
Tons of changes, see: https://selur.de/changelog
Make sure to either uninstall previous installations or reset defaults and load, check, resave every config&co you use.
-> downloads: http://www.selur.de/downloads
@Linux-Users: note that this is the last 5.95 Qt build will switch to Qt6 and a newer Ubuntu for building in the future.
@MacOS-Users: Sorry, no update of Hybrid atm. building all the tools is just too much trouble.
Cu Selur
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!