Hi,
I've got this capture (unfortunately I don't have access to the original tape) that I'm trying to restore. The frame is stable and the luma doesn't flicker throughout most of the video, except at two points lasting a couple of minutes each. I've tried to remove, or at least reduce, the flickering at those points with the deflicker plugin in avisynth, but I've had absolutely no luck in reducing the flickering. I'm thinking that the issue on the capture might not even be flickering and that it might need to be treated in a different way. It'd be amazing if anyone could tell me what's up with this capture and how I should correct the flickering (or whatever issue it is) that plagues it.
Thanks
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays!
+ Reply to Thread
Results 1 to 16 of 16
Thread
-
-
That looks like an OTA recording where an airplane flew nearby. I used to see this all the time back in the 1960s when I lived in Chicago near O'Hare airport.
You might try using the MDegrain part of MVTools2. Just use the lines from one of the examples in the documentation. However, to remove flicker, change DCT in the MAnalyze line from the default of DCT=0 to DCT=1. It makes the script run really slow, but it can often perform miracles on flicker. In addition, you'll be able to get rid of the considerable noise in that capture. -
Ran the script and it was extremely slow, so that's a good sign
The script has definitely improved the flickering situation, but there's still a lot left. Do you reckon it'd be possible to run this processed file through some more deflickering filters to get better results? -
Code:
clip = havsfunc.QTGMC(Input=clip, Preset="Fast", TFF=False) # new fps: 25 # make sure content is preceived as frame based clip = core.std.SetFieldBased(clip, 0) clip = clip[::2] # rainbow removal using SSIQ clip = core.ssiq.SSIQ(clip=clip, interlaced=0) # removing grain using TemporalDegrain clip = havsfunc.TemporalDegrain(inpClip=clip)
additionally some dehaloing migth also be a good idea.
Okay, forget that. I used Vapoursynth not Avisynth.
But similar and better should be easily doable with Avisynth and some tweaking.
Cu Selurusers currently on my ignore list: deadrats, Stears555 -
Thanks for that! I'm on linux so I already have to use a combination of vapoursynth, avisynth+ and avisynth running through wine to cover my needs, so it being a vapoursynth script definitely is not a problem. Is this script meant to be run on the (somewhat) deflickered file or the original, unprocessed mpg? If it was on the deflickered file wouldn't denoising twice get rid of an unnacceptable amount of detail?
-
I've now tried running my video through the VDub filter 'MSU Deflicker' (comparison clip attached) The results aren't as good as what I achieved with MDegrain. I'm seriously considering manually adjusting the gamma levels myself, as tedious as that would be. Are there any kind of tools I could use that would make that sort of task less tedious to do?
-
Is this script meant to be run on the (somewhat) deflickered file or the original, unprocessed mpg
(don't really see anything I would call flickering, I mainly see chroma noise, rainbows and normal noise,..)users currently on my ignore list: deadrats, Stears555 -
Well the gamma/brightness level definitely fluctuates at several points in the sample I posted. At 55 seconds in the video is definitely flickering.
-
Sorry, you are totally missed that part of the video *gig*
users currently on my ignore list: deadrats, Stears555 -
No worries Selur, it's an easy enough mistake to make. Reckon I might just adjust the gamma manually using an NLE (thank god for keyframes!) I've also made this script to stabilise the video for when it occasionally becomes unstable. Any improvements I could make to it?
Code:from vapoursynth import core import havsfunc as haf clip = core.lsmas.LWLibavSource(source='Sample.mpg') clip = haf.QTGMC(clip, Preset='Slow', TFF=False) clip = core.std.Crop(clip, top=2, bottom=16, left=8, right=8) data = core.mv.DepanEstimate(clip, dymax=0) clip = core.mv.DepanStabilise(clip, data, dymax=0) clip = core.std.Crop(clip, 28, 6, 0, 0) clip = core.std.AddBorders(clip, 28, 6, 0, 0) clip.set_output()
Last edited by servese; 2nd Aug 2021 at 04:03.
-
Change of plan. Manually adjusting the luma is definitely something I'd put into the 'easier said than done' category. I'll play around with some more filters and see what results I can get. Also I found this thread which looks interesting:
https://forum.videohelp.com/threads/341188-Still-have-flicker-after-Denoising-with-AviSynth -
I haven't been following this thread too closely, but I finally got onto my office computer and used the following script to produce this:
https://www.mediafire.com/file/pmln13v8csd0a1k/Deflickered.mp4/file
There is still some back and forth shimmer from the multi-path interference, and there is still some flickering at the end, but most of the flicker before that is reduced or eliminated. If this was for my own use, and I had the time, I'd play around with the Deflicker parameters and see if I could tune out more of the flicker.
Code:#Deflicker for interlaced video using MDegrain2 #SetMemoryMax(768) Loadplugin("E:\Documents\My Videos\AVISynth\AVISynth Plugins\plugins\QTGMC\mvtools2.dll") LoadPlugin("E:\Documents\My Videos\AVISynth\AVISynth Plugins\plugins\Cnr2.dll") Loadplugin("E:\Documents\My Videos\AVISynth\AVISynth Plugins\plugins\Film Restoration\Script_and_Plugins\Deflicker.dll") Loadplugin("E:\Documents\My Videos\AVISynth\AVISynth Plugins\plugins\Film Restoration\Script_and_Plugins\autolevels.dll") #Import("E:\Documents\My Videos\AVISynth\AVISynth Plugins\plugins\Film Restoration\Script_and_Plugins\LimitedSharpenFaster.avs") #Modify this line to point to your video file source=AVISource("E:\fs.avi").killaudio() output=MDegrain2i2(source,8,4,400,1) #The DCT=1 setting really helps nail the flicker #stackhorizontal(source,output) return output /* Interleave( \ source \ , output \ ) */ # Enable MT! Prefetch(6) #------------------------------- function MDegrain2i2(clip source, int "blksize", int "overlap", int "denoising_strength", int "dct") { overlap=default(overlap,0) # overlap value (0 to 4 for blksize=8) dct=default(dct,0) # use dct=1 for clip with light flicker fields=source.SeparateFields() fixed_fields=fields.deflicker(debug=false,scene=200,percent=60,lag=25,lmax=225,lmin=20,noise=10,border=0) super = fixed_fields.MSuper(pel=2, sharp=1) backward_vec2 = super.MAnalyse(isb = true, delta = 2, blksize=blksize, overlap=overlap, dct=dct) forward_vec2 = super.MAnalyse(isb = false, delta = 2, blksize=blksize, overlap=overlap, dct=dct) backward_vec4 = super.MAnalyse(isb = true, delta = 4, blksize=blksize, overlap=overlap, dct=dct) forward_vec4 = super.MAnalyse(isb = false, delta = 4, blksize=blksize, overlap=overlap, dct=dct) MDegrain2(fixed_fields,super, backward_vec2,forward_vec2,backward_vec4,forward_vec4,thSAD=denoising_strength) Weave() }
-
Thanks so much! That really does an amazing job at getting rid of the flickering.
-
-
Just make sure you have loaded MVTools2 and Deflicker. You can ignore all the other plugins I loaded. I must have posted that in a hurry and just grabbed something without taking the time to clean it up.
The actual code is, I think, more or less a cut/paste from the MVTools2 documentation, with the addition of the Deflicker line, so if you need more help, look there.
The only unusual thing -- and this is essential for deflickering -- is to set DCT equal to 1 instead of the default 0.
If you are having problems loading MVTools2 (make sure to use the "2" version, not the original), then just try the script using only the Deflicker line. It may be sufficient. The OP had an unusual amount of flicker, so I attacked the problem with two different plugins. You can kill almost any flicker with the combination.
BTW, setting DCT=1 does make the script run about 1/5 the speed it would run with DCT=0, so be prepared for that.
Similar Threads
-
Deinterlacing - luma difference problem
By Santuzzu in forum Newbie / General discussionsReplies: 11Last Post: 9th Jun 2021, 08:04 -
ffmpeg luma only
By luki14 in forum Video ConversionReplies: 4Last Post: 5th Jun 2020, 02:02 -
Kdenlive still unstable
By DeJay in forum LinuxReplies: 19Last Post: 23rd Feb 2019, 09:01 -
Chroma or Luma Noise?
By yukukuhi in forum EditingReplies: 20Last Post: 15th Apr 2018, 01:38 -
Luma value in a TXT file
By barabba2005 in forum Video ConversionReplies: 6Last Post: 17th Nov 2017, 11:34