I need help stabilizing and removing the dust and scratches. I don't want to use the wrong filters and destroy the footage. i included 2 samples to show the wobble and dirt and scratches.
+ Reply to Thread
Results 1 to 11 of 11
-
-
I have "Brave Little Toaster" on one of my old laserdiscs, and don't remember the flicker you see in sample2. I'm not sure where they came from and I'm sure you can get a better source. Sample 1 looks fine to me and I don't know why you'd bother trying to do anything. Just watch the movie and enjoy it!
-
I used Donald Graft's deflicker filter for VirtualDub's in AviSynth, Stab, and a few other things:
Deflicker left a little bit of flicker, which was further reduced with TemporalDegrain. And, of course, TemporalDegrain removed a lot of noise. Using higher value for softening in deflicker, or higher values in TemporalDegrain will remove flicker better (and give better temporal noise reduction) but will lead to blending artifacts and some loss of detail, especially in panning shots. RemoveDirtMC() removed most of the spots that only appear for only a single frame. It can't remove spots that appear over multiple frames.Code:LoadVirtualDubPlugin("g:\Program files\VirtualDub\plugins\deflick.vdf","DeFlick") import("C:\Program Files (x86)\AviSynth\plugins\TemporalDegrain.avs") import("C:\Program Files (x86)\AviSynth\plugins\RemoveDirtMC.avs") Mpeg2Source("sample1.d2v", CPU2="ooooxx", Info=3) # dering Stab(range=3, dxmax=4, dymax=4) Crop(6,4,-10,-4) ConvertToRGB32() #DeFlick(window size, softening, interlaced, scene change threshold, show scene change) DeFlick(8, 6, 0, 10, 0) ConvertToYV12() TemporalDegrain(SAD1=100, SAD2=75, sigma=4) RemoveDirtMC(20) Dup(threshold=5.0, blend=true, show=false)
Dup (near duplicate frames become exact duplicates) was used to reduce some of the rolling shutter wiggle where parts of the frame move independent of other parts. The high threshold was needed to reduce the wiggle, but leads to some blending of frames when there are only tiny differences between frames. Original on the left blended mouth on the right:
Using blend=false will help reduce that but you will then miss some unique frames. Using a lower threshold will also reduce the blending (or missing unique frames) but you will get less stabilization. Of just don't use it at all and live with the mild wiggle. -
Clever use of the dup plugin, first time I've seen it used anywhere. I got similar results (but not quite as wiggle free) with QTGMC/SelectOdd and some other stuff, reduced the speed to film rate and used DGpulldown to get 25fps and to make it sound like a movie instead of Alvin and the Chipmunks. Thanks for your notes on that script.
- My sister Ann's brother -
Hmmm...
I need to try dup() for the software TBC and a de-blend script that I've been toying with.Want my help? Ask here! (not via PM!)
FAQs: Best Blank Discs • Best TBCs • Best VCRs for capture • Restore VHS -
Keep in mind that Dup only works when there are two or more still frames in a row. I tried something like this for when there is motion in only parts of the frame:
Ie, breaking the frame up into 16 sections and running Dup on each section individually. But it's too obvious where the seams are.Code:p00 = Crop((width/4)*0, (height/4)*0, width/4, height/4).Dup(threshold=5, blend=true) p01 = Crop((width/4)*1, (height/4)*0, width/4, height/4).Dup(threshold=5, blend=true) p02 = Crop((width/4)*2, (height/4)*0, width/4, height/4).Dup(threshold=5, blend=true) p03 = Crop((width/4)*3, (height/4)*0, width/4, height/4).Dup(threshold=5, blend=true) p10 = Crop((width/4)*0, (height/4)*1, width/4, height/4).Dup(threshold=5, blend=true) p11 = Crop((width/4)*1, (height/4)*1, width/4, height/4).Dup(threshold=5, blend=true) p12 = Crop((width/4)*2, (height/4)*1, width/4, height/4).Dup(threshold=5, blend=true) p13 = Crop((width/4)*3, (height/4)*1, width/4, height/4).Dup(threshold=5, blend=true) p20 = Crop((width/4)*0, (height/4)*2, width/4, height/4).Dup(threshold=5, blend=true) p21 = Crop((width/4)*1, (height/4)*2, width/4, height/4).Dup(threshold=5, blend=true) p22 = Crop((width/4)*2, (height/4)*2, width/4, height/4).Dup(threshold=5, blend=true) p23 = Crop((width/4)*3, (height/4)*2, width/4, height/4).Dup(threshold=5, blend=true) p30 = Crop((width/4)*0, (height/4)*3, width/4, height/4).Dup(threshold=5, blend=true) p31 = Crop((width/4)*1, (height/4)*3, width/4, height/4).Dup(threshold=5, blend=true) p32 = Crop((width/4)*2, (height/4)*3, width/4, height/4).Dup(threshold=5, blend=true) p33 = Crop((width/4)*3, (height/4)*3, width/4, height/4).Dup(threshold=5, blend=true) StackVertical(\ StackHorizontal(p00,p01,p02,p03),\ StackHorizontal(p10,p11,p12,p13),\ StackHorizontal(p20,p21,p22,p23),\ StackHorizontal(p30,p31,p32,p33))
-
An alternative to Dup that might provide a smoother result, you could use my interlaced video adaptation of MugFunky's "filldrops" code. Here it is:
I also have the same code for progressive film. You can control how close a near dup has to be from its neighbors by changing the two numbers in the "fixed" lines near the end of the function. They are both set to 0.1 in the script. If you only want to replace frames that are exact duplicates, you set this number to 0.0.Code:function filldropsI (clip c) { even = c.SeparateFields().SelectEven() super_even=MSuper(even,pel=2) vfe=manalyse(super_even,truemotion=true,isb=false,delta=1) vbe=manalyse(super_even,truemotion=true,isb=true,delta=1) filldrops_e = mflowinter(even,super_even,vbe,vfe,time=50) odd = c.SeparateFields().SelectOdd() super_odd=MSuper(odd,pel=2) vfo=manalyse(super_odd,truemotion=true,isb=false,delta=1) vbo=manalyse(super_odd,truemotion=true,isb=true,delta=1) filldrops_o = mflowinter(odd,super_odd,vbo,vfo,time=50) evenfixed = ConditionalFilter(even, filldrops_e, even, "YDifferenceFromPrevious()", "lessthan", "0.1") oddfixed = ConditionalFilter(odd, filldrops_o, odd, "YDifferenceFromPrevious()", "lessthan", "0.1") Interleave(evenfixed,oddfixed) Weave() }
The difference between this function and "dups" is that this function will use motion estimation to interpolate the new frame, which might provide a smoother result (I'd have to try it out on the actual video to know for sure). -
Here's sample of the earlier video with the original Dup() replaced with 16 Dups as in post #9.
Last edited by jagabo; 13th Aug 2017 at 13:39.
Similar Threads
-
Can I come to restore this video?
By ciccioschumacher in forum RestorationReplies: 120Last Post: 11th Apr 2018, 00:53 -
Is it possible to restore this video?
By digicube in forum RestorationReplies: 9Last Post: 14th Nov 2015, 21:33 -
Restore Old VHS anime. How ?
By SB4 in forum RestorationReplies: 0Last Post: 14th Nov 2015, 07:03 -
Restore a LD Capture
By angelroj7 in forum RestorationReplies: 7Last Post: 10th Mar 2014, 22:12 -
backup and restore windows 7
By aruwin in forum ComputerReplies: 14Last Post: 21st Nov 2012, 11:37


Quote
