VideoHelp Forum

Our website is made possible by displaying online advertisements to our visitors. Consider supporting us by disable your adblocker or Try ConvertXtoDVD and convert all your movies to DVD. Free trial ! :)
+ Reply to Thread
Results 1 to 7 of 7
Thread
  1. Member
    Join Date
    Sep 2015
    Location
    valencia
    Search Comp PM
    Hello, I am trying to restore 50 VHS, all is home video, some are very shaky. I use de shaker with virtual dub and getting very good result.now second step with cleaning and color correction.that sample I had uploaded, I am feel video is very yellow, I am trying to restore with script I posted below, but do not get correct color.please advise my about this script, is all correct or not, if not where I am doing wrong.thanks in advance
    Sample
    filtered


    AVISource("G:\recording(20151117-216).avi")
    assumetff()
    converttoyv12(interlaced=true)
    ylevels(0,0.9,255,16,255) # adjust Luma levels only (adjust according to your needs)
    tweak(sat=1.0,cont=1.0,bright=-4,coring=false) # adjust saturation, contrast, etc...
    SmoothTweak(hue1=1,hue2=6)
    QTGMC( Preset="Medium", EZDenoise=2.5, NoisePreset="Medium" )
    SelectEven()

    ########################
    pointresize(last.width, last.height*2).ConverttoRGB32(matrix="rec601",inte rlaced=true).pointresize(last.width, last.height)
    separatefields()
    ## Remove some chroma noise with CCD in RGB (gives best results)
    ## pointresizing for lossless RGb <> YCrCb convertion
    LoadVirtualDubPlugin("F:\software\VirtualDub 1.9.11 + Filters\Plugins\Camcorder_Color_Denoise_sse2.vdf", "CCD", 1)
    CCD(15,1) # from 0 to 100 # Default =30 / 15‐30 = best results
    # Sharpening (small‐medium) with msu smart sharpen
    LoadVirtualDubPlugin("F:\software\VirtualDub 1.9.11 + Filters\Plugins\msu_sharpen.vdf", "MSUSmartSharpen", 1)
    MSUSmartSharpen(1) # from 0 (small overall) to 5 (mad)
    weave()
    pointresize(last.width, last.height*2).converttoyv12(matrix="Rec601",inter laced=true).pointresize(last.width, last.height)
    ###################
    # Denoising with Mdegrain1 for not too strong noise and interlaced source
    fields=AssumeTFF().SeparateFields() # or AssumeBFF
    super = MSuper(fields)
    backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=2)
    forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=2)
    MDegrain1(fields, super, backward_vec2,forward_vec2,thSAD=400)
    Weave()
    Crop(8,2,-8,-10)
    AddBorders(0,8,0,4)
    Quote Quote  
  2. Maybe something like:
    Code:
    ColorYUV(gain_y=-20, off_y=-12, off_u=-1, off_v=-3, cont_u=-20, cont_v=-20)
    before/after:
    Image
    [Attachment 41124 - Click to enlarge]
    Quote Quote  
  3. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    Part of the problem is lens flare, part of it is capturing at illegal video levels that leaves brights and upper midtones foggy. Jagabo's corrections should work pretty well for the sample posted. Skin tones still don't have enough blue, but that can be fixed in VirtualDub with something like ColorMill.

    But your script makes no sense:

    Originally Posted by navi82 View Post
    QTGMC( Preset="Medium", EZDenoise=2.5, NoisePreset="Medium" )
    SelectEven()
    Are you sure you wanted to throw away half of your video and 50% of the temporal resolution of a jerky video with lots of motion? Why?

    Originally Posted by navi82 View Post
    pointresize(last.width, last.height*2).ConverttoRGB32(matrix="rec601",inte rlaced=true).pointresize(last.width, last.height)
    separatefields()
    Why are you specifying interlaced = true with deinterlaced video that's no longer interlaced? After QTGMC, the video is no longer interlaced.
    Why are you resizing twice?
    Why are you separating fields with progressive video?

    And so forth. Just thought I'd try saving you some trouble and destruction.
    - My sister Ann's brother
    Quote Quote  
  4. Member
    Join Date
    Sep 2015
    Location
    valencia
    Search Comp PM
    Thanks for help, I am new in this, please help me correct this script.
    Quote Quote  
  5. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    This can be processed in dozens of ways. I used jagabo's color routine in the script below. You didn't answer the question about retaining alternate fields, so I kept SelectEven() in the script.

    General suggestions:

    - Don't use more filters than you really need.
    - Too much denoising looks artificial.
    - Denoise first, sharpen later. Don't sharpen noise.
    - Avoid multiple colorspace changes. If an Avisynth plugin can perform as well or better than an RGB filter, use Avisynth in the original YUV color space. Sometimes you don't have a choice.
    - Don't use MSU filters.

    Correct color balance is very subjective. This video is shot in heavy overcast light. It won't have the same bright colors as sunlight.

    Code:
    AVISource("G:\recording(20151117-216).avi")
    assumetff()
    # --- color/levels correction by jagabo
    ColorYUV(gain_y=-20, off_y=-12, off_u=-1, off_v=-3, cont_u=-20, cont_v=-20)
    Crop(8,2,-8,-10).AddBorders(0,6,0,6)
    converttoyv12(interlaced=true)
    QTGMC(Preset="fast",EZDenoise=4,ChromaNoise=true,GrainRestore=0.3,border=true)
    SelectEven()
    
    # --- medium sharpening, replace terrible MSU filter
    LSFMod(edgemode=2)
    Results attached as mp4.
    Image Attached Files
    Last edited by LMotlow; 3rd Apr 2017 at 05:49.
    - My sister Ann's brother
    Quote Quote  
  6. I usually don't like to use EZDenoise over 2.0 as it starts losing detail and generating visible motion artifacts. Adding DenoiseMC=true should help.

    The only place there is significant chroma noise is at the border between the bright sky and the tarp near the top of the frame. I wouldn't bother using CCD just for that.
    Quote Quote  
  7. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    I don't think it really needs EZDenoise anyway, makes it look a little raw. ChromaNoise=true should be enough.
    Usually if things look too yellow add blue, not red. Yellow already has red in it.
    I encoded as interlaced for disc playback. Probably progressive encode would play better on a slow PC.
    Last edited by LMotlow; 3rd Apr 2017 at 13:55.
    - My sister Ann's brother
    Quote Quote  



Similar Threads