VideoHelp Forum




+ Reply to Thread
Results 1 to 3 of 3
  1. Member
    Join Date
    Feb 2008
    Location
    Australia
    Search Comp PM
    Hey everyone, thanks for looking.

    I restore VHS tapes. Or at least I'm trying to... and I'm trying to get everything into an AVS workflow (the idea being that even if it takes my computer the rest of my natural life for HQ renders, at least I can go do something else while the scripts automatically handle everything).

    My setup is this:
    - Canopus ADVC-300 (2D & 3D NR off, edge enhancement off, Auto-gain, sharpening max, contrast/chroma/lum set to keep within 0->255 limits with a graph for each tape)
    - Panasonic nv-fs200 (ag-1980) (connected via SVIDEO, set to edit, TBC on (normally), don't know how to service (tips?), auto-tracking, always processing PAL tapes).
    - Core II Duo, 1.6TB, Firewire (Microsoft codec, how DO you switch to Canopus/FFDShow, what are the benefits?)

    My old workflow was this:
    - Record to DV AVI (type 2) with a program that lets me see output waveform (then I set the sliders on the canopus to get a good looking image / within graph borders of 0->255)
    - Process with TMPGenc Xpress 4 (Deinterlace -> double framerate (weighted int.), then colour correction (have 1920x1080 colour calibrated panel), noise reduction (temporal 50 to 75%), colour phase correction, contour (sharpening), volume adjustment).
    - Output to WMV (or interlaced DVD upon request).

    Now recently, I have been frustrated by the poor quality of WMV (loss of detail, macroblocking), sometimes barely superior to MPEG2 (3 hour tapes to DVD-DL), and being fond of MeGUI for encoding non-restoration jobs, I looked to h264+AAC@MP4 as a new container (advantages being, much higher compression quality, playable on iPhone (at correct level)). Searching these forums + doom9 + AVSforums has been a real eye opener, there have been so many advancements since I last updated my workflow (mainly in the area of MVTools and motion compensation).

    So, help me, please! I have been searching for days, forsaking sleep and sanity, and am having trouble putting a script together with variables I can understand (not just cut and paste, the next video might need different parameters). I want to eliminate TMPGenc from my workflow (because it can not frameserve, HUFFYYUV/Cineform intermediary is too slow and its own MP4 engine is worse than its WMV output).

    I have tried lots of MVDenoise (1/2/3) scripts, have had some luck, but the speed is unacceptable (I consider 2-3fps or greater on a Core2Duo 2.2Ghz acceptable). I can not find a plugin/program that allows me to change colour and colour phase while viewing the results (and calibrating by eye). But I DO love MVBob (seemingly far superior and faster to MCBob, has a natural denoising quality, with very little detail loss. I can't get MCBob to ever look much better than YADIFMOD+NNEDI).

    This is my current script:

    source=DirectShowSource("c:\DefinitelyDonkeyPorn.a vi", audio=false)
    Import("C:\Program Files\AviSynth 2.5\plugins\MVBob\mvbob.avs")
    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mvtools.dll")
    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mt_MaskTools.dll")
    frames=source.MVBob()
    backward_vec1 = frames.MVAnalyse(isb = true, lambda = 1000, delta = 1)
    forward_vec1 = frames.MVAnalyse(isb = false, lambda = 1000, delta = 1)
    frames.MVDenoise(backward_vec1,forward_vec1,tht=10 ,thSAD=300)

    It gets me a respectable 3 fps, no colour correction, no phase correction, lets forget about audio for a minute (and how I wish that 2-pass encodes would automatically go faster by skipping some filters for the first pass!)

    I do not know how to enhance or reduce its noise correction, it just is what it is atm. (played around with tht and thSAD, no change). I'm also interested in slight sharpening (looked up seesaw, but it seemed to only enhance the noise in its simple mode, and in its complex mode it did nothing at all).

    I tried this script:
    MVBob()
    ConvertToYV12()
    mc_spuds(2, 2)

    VERY slow, but no better than the above script, and at (2, 4) it was seriously removing some detail!

    backward_vec2 = frames.MVAnalyse(blksize = 8, isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
    backward_vec1 = frames.MVAnalyse(blksize = 8, isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
    forward_vec1 = frames.MVAnalyse(blksize = 8, isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1)
    forward_vec2 = frames.MVAnalyse(blksize = 8, isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1)
    frames.MVDeGrain2(backward_vec1,forward_vec1,backw ard_vec2,forward_vec2,thSAD=40000,idx=1)

    EXACT same as top script, but half speed...

    So please people, any help you could lend in any area would be great. MC_Spuds seemed so promising, but at all times it was slower or smearier than my current script. Perhaps I am using it wrongly (happy to upload some examples). I'm not being paid for any of this work btw, it is for friends and family who are slowly destroying their VHS collections in cheap machines...

    Thanks!
    Quote Quote  
  2. Member
    Join Date
    Jan 2003
    Location
    India
    Search Comp PM
    try dftttest()
    other than that, with due respect to people here, suggest posting also at the doom9 forum, they have lots of experts on avisynth who can help you out.
    Quote Quote  
  3. Member Soopafresh's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    "(and how I wish that 2-pass encodes would automatically go faster by skipping some filters for the first pass!)"

    You could try that with a command line encoder, like X264. Use 2 different scripts, the first one using a crude but fast bobber, like Bob() and a non motion compensated degrainer. Then the real thing for the second pass. It might work in theory. The other option is to 1-pass to a lossless codec, then use the resulting AVI to feed into your encoder.


    Look up TemporalDegrain for the denoiser and TempGaussMC for the deinterlacer. The combination will be painfully slow, however. See attached.


    frames.MVDeGrain2(backward_vec1,forward_vec1,backw ard_vec2,forward_vec2,thSAD=40000,idx=1)

    I didn't even know that value could go that high. 1200 should be tops.

    Seesaw should only be used on good sources. It will make bad looking video look worse.


    scripts.zip

    Tdegrain example

    tdegrain.avi
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!