VideoHelp Forum
+ Reply to Thread
Results 1 to 3 of 3
Thread
  1. Hi guys I am trying to restore some vhs tape that has already been captured. The equipment used VHS/DVD combo Philips dvdr630vr svideo out Panny es15 svideo (AV3 line front in )borrowed from me for this process 3 years ago in. Svideo from Panasonic ES15 (back) to EZcap usb capture card Vdub2 Lagarith 720x576 pal yuv2 bff ( i know strange but is right order) Windows 10 LTSC. The bloke did it with this equipment so not anything can be done about the capture process. Levels were adjusted in Vdub 2 during capture no crushing. The tape (or transfer) has a lot of drop outs some nasty color cast and some flickering. I have the original captured lagarith file but no tape. I used avisynth+, vdub2 all 64 bit so far. I took the file first I used this script:
    function DetectVCRLines(clip c,int threshold)
    {
    spacial_data = GeneralConvolution(ConvertToRGB(c),0,"0 -1 0 0 2 0 0 -1 0")
    bar_data = ConvertToRGB(BilinearResize(spacial_data,16,c.heig ht))
    st_data = Overlay(bar_data,Trim(bar_data,1,0),mode = "subtract")
    st_data2 = Greyscale(Levels(st_data,threshold,10.0,threshold+ 1,0,255,coring = false))
    st_data3 = Greyscale(Levels(st_data2,127,10.0,128,0,255,corin g = false))
    st_data4 = Overlay(st_data3,st_data3,y = -1, mode = "add")
    return PointResize(st_data4,c.width,c.height)
    }

    function deVCR(clip c,int threshold)
    {
    mybars = DetectVCRLines(c,threshold)
    return Overlay(c,Trim(c,1,0), mask = mybars,greymask = true)
    }

    function RemoveSpots(clip input, bool "_grey", int "repmode")
    {
    _grey=default(_grey, false)
    repmode=default(repmode, 16)
    clmode=17
    clensed=Clense(input, grey=_grey, cache=4)
    sbegin = ForwardClense(input, grey=_grey, cache=-1)
    send = BackwardClense(input, grey=_grey, cache=-1)
    alt=Repair(SCSelect(input, sbegin, send, clensed, debug=true), input, mode=repmode, modeU = _grey ? -1 : repmode )
    restore=Repair(clensed, input, mode=repmode, modeU = _grey ? -1 : repmode)
    corrected=RestoreMotionBlocks(clensed, restore, neighbour=input, alternative=alt, gmthreshold=70, dist=1, dmode=2, debug=false, noise=10, noisy=12, grey=_grey)
    return corrected
    }

    function RemoveSpotsMC3x(clip clip, int "limit", bool "_grey")
    {
    _grey = default(_grey, false)
    limit = default(limit, 6)
    i=MSuper(clip,pel=2)
    bvec = MAnalyse(i,isb=false, blksize=8, delta=1, truemotion=true)
    fvec = MAnalyse(i,isb=true, blksize=8, delta=1, truemotion=true)
    backw = MFlow(clip,i,bvec)
    forw = MFlow(clip,i,fvec)
    clp=interleave(backw,clip,forw)
    clp=clp.RemoveSpots().RemoveSpots().RemoveSpots()
    clp=clp.SelectEvery(3,1)
    return clp
    }
    AVISource("D:\ttttt.avi")
    AssumeBFF()
    ColorYUV(gain_y=10,gain_u=-25,cont_v=-20,cont_u=-60,cont_y=-5)
    ConverttoYV16(interlaced=true)
    SeparateFields()
    even = SelectEven().RemoveDirtMC_se().RemoveSpotsMC3x(0,f alse).deVCR(30)
    odd = SelectOdd().RemoveDirtMC_se().RemoveSpotsMC3x(0,fa lse).deVCR(30)
    Interleave(even, odd)
    Weave()
    QTGMC(Preset="Fast")
    ConvertToRGB32(matrix="rec601")
    Prefetch(8)

    I used removespots,removedirtmc_se and devcr to tackle the spots and drop outs but it seems some of them slipped. I used convert to Yv16 to keep it close as possible to YUv2 instead of going to YV12 then to RGB I deinterlaced using Qtgmc and then loaded the sript in Vdub2 used Neat video ver 4.8 ( I bought ver 5 for premiere only) and ccd to tackle the noise then used Color Mill to lower yellow cast on high levels and for some color correction.


    Image
    [Attachment 58668 - Click to enlarge]


    Can something be better done for this clip Without loosing to much detail as you can see the detail is not much great from start but luckly the dots on the curtains are not gone with filtering

    Image
    [Attachment 58674 - Click to enlarge]
    Image Attached Thumbnails Click image for larger version

Name:	Untitled2.png
Views:	47
Size:	1.47 MB
ID:	58669  

    Click image for larger version

Name:	Untitled3.png
Views:	53
Size:	1.59 MB
ID:	58670  

    Image Attached Files
    Last edited by mammo1789; 2nd May 2021 at 23:49.
    Quote Quote  
  2. Spotless filter works great for white dropouts

    ex:
    avisource() # source must be progressive
    # with 2 instances of spotless (or more)
    SpotLess(last)
    SpotLess(last)
    https://forum.doom9.org/showthread.php?t=181777&highlight=Spotless
    *** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE
    Quote Quote  
  3. Spotless filter works great for white dropouts

    ex:
    avisource() # source must be progressive
    # with 2 instances of spotless (or more)
    SpotLess(last)
    SpotLess(last)
    https://forum.doom9.org/showthread.php?t=181777&highlight=Spotless
    Oddly it seems that it is doing more damage than removedirtmc,removespots and dvcr together while removing less and it only works in yv12. I will try to play with the t values as johnmayer
    Image
    [Attachment 58700 - Click to enlarge]

    thanks themaster1


    I uploaded the original file and the removedirt version next i will upload the spotless version
    Image Attached Files
    Last edited by mammo1789; 3rd May 2021 at 00:05.
    Quote Quote  



Similar Threads

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