Hello how are you? I'm a little newbie with avisynth. I have tried a lot for more than surfing the internet, to restore my VHS tapes transfers by this means, but I do not succeed.
Here there are many lines and points in the image. And I have catches of VHS-C have many streaks.
Can you help me?
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 19 of 19
Thread
-
Last edited by Andy2018; 24th Jan 2019 at 20:53.
-
Search on:
"VHS Restoration"
both in this forum, and at doom9.org.
This is one of several scripts I use. I always tweak the settings for each tape.
Code:Loadplugin("C:\Program Files\AviSynth 2.5\plugins\MVTools\mvtools2.dll") LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\CNR\Cnr2.dll") #Modify this line to point to your video file source=AVISource("E:\fs.avi").killaudio().AssumeBFF() #Only use chroma restoration for analog source material chroma=source.Cnr2("oxx",8,16,191,100,255,32,255,false) #VHS #Set overlap in line below to 0, 2, 4, 8. Higher number=better, but slower #For VHS, 4,0 seems to work better than 8,2. Most of difference is in shadows #However, 8,0 is good enough and MUCH faster. 8,2 doesn't seem to make much difference on VHS. output=MDegrain2i2(chroma,8,0,400,0) return output #Enable the following block to see original frame followed by denoised frame /* return Interleave( \ source \ , output \ ) */ #------------------------------- function MDegrain2i2(clip source, int "blksize", int "overlap", int "denoising_strength", int "dct") { Vshift=0 # 2 lines per bobbed-field per tape generation (PAL); original=2; copy=4 etc Hshift=0 # determine experimentally overlap=default(overlap,0) # overlap value (0 to 4 for blksize=8) denoising_strength=default(denoising_strength, 400) dct=default(dct,0) # use dct=1 for clip with light flicker fields=source.SeparateFields() # separate by fields #This line gets rid of vertical chroma halo #fields=MergeChroma(fields,crop(fields,Hshift,Vshift,0,0).addborders(0,0,Hshift,Vshift)) #This line will shift chroma down and to the right instead of up and to the left #fields=MergeChroma(fields,Crop(AddBorders(fields,Hshift,Vshift,0,0),0,0,-Hshift,-Vshift)) super = 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(fields,super, backward_vec2,forward_vec2,backward_vec4,forward_vec4,thSAD=denoising_strength ) #UnsharpMask( clip , int "strength" , int "radius" , int "threshold" ) #strength: strength. The default is 64. #radius: the scope of the blurring process. The default is 3. #threshold: threshold. Absolute value of the processing component is greater than the threshold blur. The default is 8. #unsharpmask(60,3,0) #not sure whether to put this before or after the weave. Weave() } function IResize(clip Clip, int NewWidth, int NewHeight) { Clip SeparateFields() Shift=(GetParity() ? -0.25 : 0.25) * (Height()/Float(NewHeight/2)-1.0) E = SelectEven().Spline36resize(NewWidth, NewHeight/2, 0, Shift) O = SelectOdd( ).Spline36resize(NewWidth, NewHeight/2, 0, -Shift) Ec = SelectEven().Spline36Resize(NewWidth, NewHeight/2, 0, 2*Shift) Oc = SelectOdd( ).Spline36Resize(NewWidth, NewHeight/2, 0, -2*shift) Interleave(E, O) IsYV12() ? MergeChroma(Interleave(Ec, Oc)) : Last Weave() } function Remove_Tears(clip source) { #Create mask ml = 100 # mask scale scene_change = 400 # scene change super = MSuper(source,pel=2, sharp=1) vf = MAnalyse(super,isb=false) # forward vectors vb = MAnalyse(super,isb=true) # backward vectors cf = MFlow(source,super,vf,thSCD1=scene_change) # previous compensated forward cb = MFlow(source,super,vb,thSCD1=scene_change) # next compensated backward sadf = MMask(super,vf, ml=100,kind=1,gamma=1, thSCD1 = scene_change) msadf= sadf.Binarize() # binary inverted forward SAD mask sadb = MMask(super,vb, ml=ml, gamma=1, kind=1, thSCD1 = scene_change) # backward SAD mask msadb= sadb.Binarize() # binary inverted backward SAD mask msad = Logic(msadf,msadb,"OR") # combined inverted SAD mask msad = msad.Expand() # expanded inverted SAD mask msadi = Interleave(msad, msad, msad) # interleaved 3-frame inverted SAD mask Interleave(cf,source,cb) # interleave forward compensated, source, and backward compensated #DeSpot (show=0,p1percent=10,dilate=1,maxpts=400,p2=12,mthres=18,p1=24,pwidth=40,pheight=12,mwidth=7,mheight=5,merode=33,interlaced=false,seg=1,s ign=1,ranked=true,extmask=msadi) DeSpot (show=0,p1percent=3,dilate=3,maxpts=400,p2=6,mthres=9,p1=12,pwidth=140,pheight=4,mwidth=7,mheight=5,merode=33,interlaced=false,seg=1,sign =-1,ranked=true) SelectEvery(3,1) }
-
A quick trick to get rid of that herringbone noise with VHS is do reduce the width to about half, then stretch it back. This doesn't hurt the resolution very much because VHS isn't sharp horizontally anyway.
Code:Spline36Resize(width/2, height) # half width Spline36Resize(width*2, height) # back to full width
-
Then you need to investigate each filter to make sure you both have the filters and also have the other requirements to make the filters work. Most filters have their own page at the AviSynth site. Most are not included in the AviSynth installation. When a script doesn't work, post both the complete script and the Virtual Dub error message. Just saying "Not work" doesn't help you or the people willing to help you.
-
I'm sorry if I said something bad. I just said that no script worked for me. I did not say it in a bad way.
-
No, you didn't say it in a bad way. No one is accusing you. All that manono said was that "script doesn't work" does not give enough information to help you.
- Post a copy of your Avisynth script that isn't working.
- If you get an error message, exactly what does the error message say?
No one can help you without that information.
Last edited by LMotlow; 10th Dec 2018 at 19:11.
- My sister Ann's brother -
[Attachment 47446 - Click to enlarge] this message appears to me -
Thanks, but we can't use a partial picture of the bottom portion of your script. We need your script, period. You do realize that your Avisynth script is plain text, right ? In your text editor you can select the complete text with your mouse and copy it to your clipboard. Then you can open a reply window in this forum and paste the text into the reply box.
Either do that, or attach a copy of your avs script as a .txt file.
The problem is that the part of your script that defines "output" is not visible in the image that you posted.- My sister Ann's brother -
Also, this looks like something - a part of something - that you got from somewhere else (johnmeyer above) and have no idea what it's supposed to do. My suggestion is to simplify. Open the video and then add needed filters one-by-one. A sample of the video might be helpful and then someone can suggest filters you can use. Your script (or piece of script) is way too complex for someone just starting out.
-
Actually, the "output" line (5) is visible in his image -- but the first 4 lines are missing.
-
Apparently nothing in the script defines "output". Will probably get something if "return output" is replaced with "return last". What he'll get, who knows.
- My sister Ann's brother -
You need to post your entire script. It looks like you copied mine, but I just copy/pasted from my post above, and the script does work as posted, i.e., there is no error in the script that would cause you to get an error about not being able to find the variable "output."
Similar Threads
-
VHS restoration
By DaneClark in forum RestorationReplies: 7Last Post: 9th Jun 2017, 14:07 -
Beginner with AVISynth and AvsPmod (16mm Kinescope Restoration)
By goodiesguy in forum RestorationReplies: 20Last Post: 28th Mar 2017, 02:02 -
My new 8mm filmtransfer system and Avisynth restoration
By videofred in forum RestorationReplies: 17Last Post: 25th Aug 2016, 10:42 -
old VHS restoration
By pirej in forum RestorationReplies: 72Last Post: 30th Apr 2016, 08:26 -
advise with restoration with avisynth.
By navi82 in forum RestorationReplies: 60Last Post: 23rd Nov 2015, 19:34