No rush .. take as long as you want.
+ Reply to Thread
Results 31 to 60 of 94
-
Last edited by Tafflad; 9th Oct 2013 at 13:40.
-
Didn't we have a thread about this footage a couple of years ago? Or was that different but similar footage?
-
We started on it .. and then I decided to stop at that point .. and redo all captures with ADVC300 & TBC.
So went bought the kit and now back to the 'capture' point. -
I recall something similar, but different footage. There have been several threads with exactly the same problems I describe, below. One very similar a short while back was from Sweden, using the same capture gear.
That might be a good idea, even if the source itself is a nightmare. Among the first problems I encountered was field placement anomalies like the one below, from clip 2. Note disturbance at the top of the frame, then watch frames 107 thru 113. This is deinterlaced YV12 AVI (Lagarith):
Code:ffvideosource(vidpath+"Sandhurst - Clip 2.avi") AssumeBFF().QTGMC(preset="fast") Trim(260,385)
-
Found it. It's a re-capture of the same thing...
https://forum.videohelp.com/threads/316521-Help-the-beginner-time-VHS-TBC-ADVC300-PC
Some of the stuff in that thread is still relevant.
Cheers,
David. -
There ya go. You're right, it's the same footage (I must have had a senior moment trying to connect old and new). I was up until 1:30 AM looking for it. I just didn't go back far enough.
-
-
I clicked "Tafflad > View Forum Posts" and looked at the first threads he posted.
I've seen worse. There was one person's camcorder clip of a dog jumping at a ball that he/she posted in every deinterlacing thread on doom9 for about five years. I like to think that they were posting it as a good test sequence for checking how good the latest deinterlacer was (and to be fair, it is a good test clip for that!), but maybe it just took them five years before they thought "Oh, go on then, I'll actually deinterlace it now". If one of their relatives was waiting with baited breath for the debut of the classic "dog jumping at a ball" on YouTube, they were waiting a long time.
I shouldn't criticise. I'm of the "upload it straight away or leave a decade-or-so" school of thought. People want to see things when they've just happened, or when everyone has aged and moved on. With the latter, there's no hurry, until people start dying off.
Cheers,
David. -
Yep ... as mentioned I started on it ... and then decided to build a new PC, and then redid all the VHS captures .. with a 2 yr gap
-
Coupling together the (extremely) helpful input from the 2 threads, seems to pull together this script.
Could those that know take a peek and tell me if OK ? .....
Code:#Load file avisource("Test Clip 001.avi") # Levels adjustment, down by 16 ColorYUV(off_y=-16, cont_v=-40) # Increase the contrast levels(10,1.0,250,0,255,coring=false) # Increase the saturation tweak(sat=1.2,coring=false) # DV = BottomFieldFirst assumebff() # Deinterlace SeparateFelds().Weave() # Fix (S-)VHS chroma shift ChromaShift(C=4, L=-4) mergechroma(last.crop(0,Vshift,-Hshift,0).addborders(Hshift,0,0,Vshift)) converttorgb(interlaced=false,matrix="PC.601") rgbadjust(1,1,1.05,1,0,0,-13,0) # Need YV12 for mc_spuds and aWarpSharp converttoyv12(interlaced=false,matrix="PC.601") # Store the noisy version a=last # Denoise with mc_spuds mc_spuds(chro=true) # warp horrible fuzzy chroma to match nice sharp luma c=aWarpSharp(depth=20.0, thresh=0.75, blurlevel=2, cm=1) # sharpen the very soft picture! sharpen(0.75,0.5) # put a little of the original noise back in to avoid "plastic" look overlay(a,opacity=0.4) # 0.5 keeps 50% noise, 0.25 keeps 25% noise etc # completely replace chroma with nice version mergechroma(c) # add light grain to try to fake a little extra resolution grainfactory3(g1str=4, g2str=4, g3str=4) addgrainc(0,2) # go back to a nicer colour space before re-interlacing # (not worth it for DVD etc, but good if you want to store lossless YUV and maybe take frame grabs) converttoyuy2(interlaced=false) #re-interlace assumebff() separatefields() selectevery(4,0,3) weave() # crop out junk crop(8,8,-8,-12).AddBorders(8,8,8,12)
-
It wont run. But just to start with a couple of basic things (I can't cover all of it):
Code:# Deinterlace SeparateFelds().Weave()
Near the end your script does this:
Code:#re-interlace assumebff() separatefields() selectevery(4,0,3) weave()
Code:mergechroma(last.crop(0,Vshift,-Hshift,0).addborders(Hshift,0,0,Vshift))
Oh, well...I haven't seen those videos in a while, so I'd have to refresh my memory before I'd try rewriting all of it. -
OK .. I tried to take the comments that you & Jagabo had made on this thread ... and the script that 2bdecided put in the thread: https://forum.videohelp.com/threads/316521-Help-the-beginner-time-VHS-TBC-ADVC300-PC
Obviously not got it right .... appreciate it if you can help correct it -
Code:
#Load file avisource("Test Clip 001.avi") # Levels adjustment, down by 16 ColorYUV(off_y=-16, cont_v=-40) # Increase the contrast # NOTE: I have disabled the line below. # Look over your video before trying stuff like this. Might not be necessary #levels(10,1.0,250,0,255,coring=false) # Increase the saturation tweak(sat=1.2,coring=false) # Deinterlace (DV = BottomFieldFirst) AssumeBFF().QTGMC(preset="faster") # Fix (S-)VHS chroma shift ChromaShift(C=4, L=-4) # Need YV12 for mc_spuds and aWarpSharp ConvertToYV12(interlaced=false,matrix="PC.601") # Store the noisy version a=last # Denoise with mc_spuds mc_spuds(chro=true) # warp horrible fuzzy chroma to match nice sharp luma c=aWarpSharp(depth=20.0, thresh=0.75, blurlevel=2, cm=1) # sharpen the very soft picture! sharpen(0.75,0.5) # put a little of the original noise back in to avoid "plastic" look overlay(a,opacity=0.4) # 0.5 keeps 50% noise, 0.25 keeps 25% noise etc # completely replace chroma with nice version Mergechroma(c) # add light grain to try to fake a little extra resolution grainfactory3(g1str=4, g2str=4, g3str=4) addgrainc(0,2) ConverttoRGB(interlaced=false,matrix="PC.601") RGBadjust(1,1,1.05,1,0,0,-13,0) # back to YV12 for DVD or BD/AVCHD ConvertToYV12(interlaced=false,matrix="PC.601") #re-interlace AssumeBFF().SeparateFields().SelectEvery(4,0,3).Weave() return last
Last edited by sanlyn; 22nd Oct 2013 at 18:12.
-
I'll go thru this line by line to try and understand where I went wrong ... 2 parts are cut & paste errors for sure.
Thanks ... I'll go compare -
I borrowed some things from previous scripts (thanks @2BDecided for the S-video chroma shift idea). No matter how few or how many filters you use, this thing still looks over filtered, probably because the source seems denuded. I managed to get the cadet uniforms fairly correct (they're supposed to be brown; the ladies wear field green; bigwigs and hotshots have tan, olive, and I've also seen them in black). But I don't think anything will ever look "correct". Clip2 has a different color balance and different contrast for each of the two shots. Needs more tweaking. But first, sleep.
-
Well...yes, I think just about anything would be an improvement (LOL!). Kinda similar to 2BDecided and jagabo earlier versions, IMO, especially coming from a few routines in their previous scripts. There won't be a huge difference in results. My own script changed so many times it's mostly "#" lines. Will post if I can ever get it straightened out.
-
Just shows that this was a tape bought from a Professional Video company ... and it's not that it's all age degradation it was poor to start with.
I'll wait to see your final script. -
Well, it's attached. There's the easier and quicker way as in previous scripts. Then there's the slow, patient way. Thank goodness I wouldn't have to do all this with most of my VHS restores. But I have a couple that were worse. Talk about stuff that makes one old before one's time...
-
Thanks a million .... I'll go try it.
Notice that MC_spuds not used, is MCTemporalDenoise a better way of achieving this ?Last edited by Tafflad; 23rd Oct 2013 at 14:22.
-
Set up your coffee maker first.
I didn't include the settings for the VirtualDub filters. They are saved in a .vcf text file that can be imported into VDub. What a headache. -
Not sure what that means? ... do I need to get the .vcf file from you first and load it, or does script auto generate this ?
-
Depends on whether you want to use VirtualDub for more cleanup. If you're not good with color work or unfamiliar with VDub's color adjustment filters, I'd suggest using the .vcf (which Avisynth can't make. Those have to be made by VDub). A .vcf is really a text file with .vcf at the end of the file name. You load it into VirtualDub by using "file..." -> "Load processing settings..", then navigate to the loaclation where you've saved the vcf, and it loads the required plugins and their settings. Then you can open the "Filters"window and examine how each filter is set up.
You need to have the plugins that the vcf calls for, copied into Vdub plugins. In this case I used these plugins:
- gradation curves (gradation.vdf) http://members.chello.at/nagiller/vdub/index.html
- Hue/Saturation/Intensity by DOnald Graft (Hue.vdf) http://neuron2.net/hue.html
- ColorMill (ColorMill.vdf) ) http://fdump.narod.ru/rgb.htm
- Trevlac's ColorTools RGB histogram (clrtools.vdf) http://trevlac.us/colorCorrection/colorTools.html
To speed things along, I made a .zip file that contains all 4 plugins and the .vcf file for the settings used. Copy the vdf's to your VDub plugins folder. There are also some .txt or .htm help files (copy those too). This was downloaded a while back to another thread, but I couldn't locate it-- so I made a new .zip .
BTW, a .vcf is a plain text file. You can open it with Notepad or a word processor and see what it looks like. Why would one want to do this? Many people load Vdub filters into Avisynth scripts. Each plugin has its own calling procedure, but the .vcf shows what settings the filters want.Last edited by sanlyn; 20th Mar 2014 at 07:27.
-
I thought that you used the AVIsyth script to drive VD ? ...
Is that the way as long as you load the vcf file & pluins first ? ..........
I'll download them now -
When you run an Avisynth script in VirtualDub, you can also load VDub filters to run on Avisynth's output at the same time. Sometimes that puts a load on your OS and things run slower that way. It can often be headache to test, debug, and tweak VDub's settings if you have to wait for an Avisynth script to serve VDub more frames.
-
Had some fun finding some of the plugins (particularly ffms2 dll/avsi) ... but have them now ...
Can't seem to get underway ...
avi file location and video file patch input into step1 script (script below), it executes, but can't seem to get past an error:
script error: expected a, or)
(E:\users\Rick\desktop\Sandhurst\step1.avs, line 3, column 22)
Tried multiple variations of path in case that was the issue.
Script "Step 1"
Code:loadCplugin("D:\Program Files (x86)\AviSynth 2.5\plugins") aud = ffaudiosource(E:\Users\Rick\Desktop\Sandhurst\"Clip 2.avi") vid = ffvideosource(E:\Users\Rick\Desktop\Sandhurst\"Clip 2.avi") #--- join video + audio audiodub(vid,aud) ColorYUV(cont_y=-20,off_Y=-5) ColorYUV(cont_u=-45) ColorYUV(cont_v=-60,off_v=3) #--- cut blue again to smooth blue "spikes" ColorYUV(cont_u=-50,gain_u=-15) #--- deinterlace + a little denoising AssumeBFF().QTGMC(preset="fast") ConvertToYV12(interlaced=true) Cnr2("xxx",4,5,255) BiFrost() SmoothLevels(20,1.0,255,16,240,chroma=200,limiter=0,tvrange=true,smooth=200,dither=100,protect=6) Crop(0,2,0,-12).AddBorders(0,6,0,8) return last
-
Put the first set of quotation marks inside the first parenthesis:
aud = ffaudiosource("E:\Users\Rick\Desktop\Sandhurst\Cli p 2.avi")
vid = ffvideosource("E:\Users\Rick\Desktop\Sandhurst\Cli p 2.avi")
That may not be all that's wrong, though.
-
Thanks for that, allowed me to move fwd ... few more syntax issues & plugins missing.
I did have "Smoothlevels argument missing" and checked this requires masktools (I had mt_masktools-25) and RemoveGrain (I had RemoveGrainSSE2 & 3)
Installed these and now get:
RemoveGrain; invalid mode 20
(QTGMC-3.32.avsi, line 756)
(QTGMC-3.32.avsi, line 781)
(QTGMC-3.32.avsi, line 614)
Any pointers on how to resolve ? -
Sorry I dropped out for a while (partial power power outage in the area, lost cable service overnight. Phooey).
Manono is right. String values should be inside double-quotes. A path statement is a continuous string: "E:\Users\Rick\Desktop\Sandhurst\Clip 2.avi" . I forgot to revise that little vidpath business in my script (well, it was getting late here). My bad. So here's a brief lesson in some Avisynth conventions:
The original script was typed this way:
Code:PathToVideo="E:\forum\tafflad2\" aud = ffaudiosource(PathToVideo+"Sandhurst - Clip 2.avi") vid = ffvideosource(PathToVideo+"Sandhurst - Clip 2.avi")
You've seen that sort of thing in other places in these scripts. For example you've seen this in previous scripts:
Code:# Store the noisy version a=last
Code:# put a little of the original noise back in to avoid "plastic" look overlay(a,opacity=0.4) # 0.5 keeps 50% noise, 0.25 keeps 25% noise etc
You saw something similar in the earlier scripts with these lines:
Code:# warp horrible fuzzy chroma to match nice sharp luma c=aWarpSharp(depth=20.0, thresh=0.75, blurlevel=2, cm=1)
Code:# completely replace chroma with nice version Mergechroma(c)
You saw these variable thingies used in other places, as well. For instance:
Code:w=width h=height
Code:Spline36Resize(w, h)
Code:Spline36Resize(720, 576)
Code:Spline36Resize(720/2, 576/2) ...do some processing... Spline36Resize(720,576)
Code:w=width h=height Spline36Resize(h/2, w/2) ...do some processing... Spline36Resize(h, w)
So, in my original script I had these statements:
Code:PathToVideo="E:\forum\tafflad2\" aud = ffaudiosource(PathToVideo+"Sandhurst - Clip 2.avi") vid = ffvideosource(PathToVideo+"Sandhurst - Clip 2.avi")
Code:PathToVideo="E:\forum\tafflad2\" aud = ffaudiosource("E:\forum\tafflad2\Sandhurst - Clip 2.avi") vid = ffvideosource("E:\forum\tafflad2\Sandhurst - Clip 2.avi")
This sort of thing also comes in handy if you have to load a lot of scripts and plugins. For example:
Code:ppath="D:\Avisynth 2.5\plugins\" Import(ppath+"SmoothD2c.avs") Import(ppath+"RemoveDirt.avs") Import(ppath+"RemoveSpots.avs") Import(ppath+"TemporalDeGrain.avs") Import(ppath+"FastLineDarken 1.3.avs") LoadPlugin(ppath+"mvtools.dll") LoadCPlugin(ppath+"yadif.dll")
Code:ppath="D:\Avisynth 2.5\plugins\" Import("D:\Avisynth 2.5\plugins\SmoothD2c.avs") Import("D:\Avisynth 2.5\plugins\RemoveDirt.avs") Import("D:\Avisynth 2.5\plugins\RemoveSpots.avs") Import("D:\Avisynth 2.5\plugins\TemporalDeGrain.avs") Import("D:\Avisynth 2.5\plugins\FastLineDarken 1.3.avs") LoadPlugin("D:\Avisynth 2.5\plugins\mvtools.dll") LoadCPlugin("D:\Avisynth 2.5\plugins\yadif.dll")
Last edited by sanlyn; 20th Mar 2014 at 07:34.
Similar Threads
-
AVerMedia DarkCrystal HD Capture Station - Good for Restoration?
By djnice in forum RestorationReplies: 11Last Post: 22nd May 2012, 14:49 -
Will someone post examples on processing restoration?
By rocky12 in forum RestorationReplies: 39Last Post: 8th Jul 2011, 07:39 -
*OLD* CD Restoration
By kallisti5 in forum RestorationReplies: 13Last Post: 6th May 2011, 07:11 -
color correction in camera or filters in post?
By 392 in forum Camcorders (DV/HDV/AVCHD/HD)Replies: 2Last Post: 6th Mar 2010, 15:19 -
Another post that's a mix of Audio, Editing and Restoration...
By takearushfan in forum Newbie / General discussionsReplies: 2Last Post: 11th Feb 2010, 02:00