VideoHelp Forum
+ Reply to Thread
Results 1 to 8 of 8
Thread
  1. Member
    Join Date
    Sep 2020
    Location
    France
    Search PM
    Hi guys,

    I'm a newbie on Avisynth and I have some troubles to apply filters on some videos like the two attachments files.
    The first one is a classic vob file and the 2nd is a webrip file, my filters just don't work (derainbow with ChubbyRain for example).
    How can I make them work ?

    Thanks
    Image Attached Files
    Quote Quote  
  2. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by SwaYzY View Post
    Hi guys,

    I'm a newbie on Avisynth and I have some troubles to apply filters on some videos like the two attachments files.
    The first one is a classic vob file and the 2nd is a webrip file, my filters just don't work (derainbow with ChubbyRain for example).
    How can I make them work ?

    Thanks
    post your complete script so others can see what you've tried
    Quote Quote  
  3. Member
    Join Date
    Sep 2020
    Location
    France
    Search PM
    BIOP Clean.vob :
    SetFilterMTMode("QTGMC",2)
    FFmpegSource2("BIOP Clean.vob", atrack=2)
    ConvertToYV12()
    AssumeTFF()
    QTGMC( Preset="Slower", SourceMatch=3, Lossless=1)
    tdecimate(cycle=25)
    ChubbyRain(th=10, radius=10, show=false, interlaced=false)
    TemporalDegrain2()
    4PL.ts :

    FFmpegSource2("4PL.ts", atrack=1)
    ConvertToYV12()
    ChubbyRain(th=10, radius=10, show=false, interlaced=false)
    santiag(strh=1, strv=1, type="nnedi3", nns=1, threads=0, nsize=6, halfres=false, scaler_post="Spline36Resize")
    Last edited by SwaYzY; 19th Sep 2020 at 07:21.
    Quote Quote  
  4. Your VOB is field blended progressive, so neither QTGMC nor TDecimate are needed, and they will not be able to feed the correct video to your denoisers. So, delete those two lines, and use SRestore instead:

    Code:
    bob(source,-0.2,0.6)
    restore(frate=25, omode=6)
    I used this and it got rid of almost all the field blends (which is what is causing the problem) and returned it to 25 fps progressive. Someone with more experience with SRestore may be able to suggest a few tweaks.

    There is also the question about whether it should be re-timed to the original 24 fps, or kept as the PAL sped-up 25 fps. The original was almost certainly shot at 24 fps.
    Quote Quote  
  5. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by johnmeyer View Post
    Your VOB is field blended progressive, so neither QTGMC nor TDecimate are needed, and they will not be able to feed the correct video to your denoisers. So, delete those two lines, and use SRestore instead:

    Code:
    bob(source,-0.2,0.6)
    restore(frate=25, omode=6)
    I used this and it got rid of almost all the field blends (which is what is causing the problem) and returned it to 25 fps progressive. Someone with more experience with SRestore may be able to suggest a few tweaks.

    There is also the question about whether it should be re-timed to the original 24 fps, or kept as the PAL sped-up 25 fps. The original was almost certainly shot at 24 fps.
    srestore, as mentioned by johnmeyer, seems to work well. There is some bad rainbows at 1:40
    that chubbyrain didn't really help with, derainbow tones it down a little. You may get further input from
    others on this
    Code:
    mpeg2Source("C:\Users\davex\Desktop\avs_test\biop-clean.d2v")
    yadifmod2(mode=1, edeint=nnedi3(field=-2))
    srestore()
    derainbow()
    TemporalDegrain2()
    spline36resize(768,576)
    Quote Quote  
  6. Member
    Join Date
    Sep 2020
    Location
    France
    Search PM
    Thanks guys but i still can't derainbow the video

    I have an other source where I can derainbow but i don't know which filter to use to clean these "shimmering edges?"

    Code:
    FFmpegSource2("BIOP PO.vob", atrack=2)
    ConvertToYV12()
    TIVTC_TFM()
    Tdecimate()
    DeRainbow(thresh=10, interlaced=false)
    TemporalDegrain2()
    For the 2nd video that i've posted above it's not possible to use filters because it's a webrip?
    Image Attached Files
    Quote Quote  
  7. CNR2 often works for rainbows.
    Quote Quote  
  8. The new function created by StainlessS over at doom9.org gets rid of about 95% of the rainbow, except at the frame before scene changes. Here's the script I used. You'll want to tune the parameters to get the right trade off between removing rainbows and noise, and removing too much detail (typical denoiser tradeoff). You will see that the rainbow is gone from the brick in the upper left corner. Also, because of SRestore, all the fuzziness caused by the bad fields has been corrected. You will see this most prominently in the right hand holding the leash, and also around the woman's right hand (notice how her bracelet is now sharp and clear).

    You can get more rainbow removal by increasing RadT. This uses more frames, but slows down the operation. You can decrease the noise reduction by reducing the two ThSAD values.



    Code:
    source=AVISource("E:\fs.avi").KillAudio().converttoYV12(interlaced=true).AssumeTFF()
    bob(source,-0.2,0.6)
    srestore(frate=25, omode=6)
    output = SpotLess(ThSAD=1000,ThSAD2=1000,RadT=4,Chroma=true,BlkSz=8,OLap=4,Tm=true)
    return output
    /*
    Interleave(
    \    source
    \  , trim(output,1,0)
    \ )
    */
    
    Function SpotLess(clip c,int "RadT",int "ThSAD",int "ThSAD2",int "pel",bool "chroma", int "BlkSz",Int "Olap",bool "tm",Bool "glob",Float "bBlur") {
        RadT     = Default(RadT,2)                              # Temporal radius. (MCompensate arg)
        ThSAD    = Default(ThSAD,10000)   # SAD threshold at radius 1 (Default Nearly OFF).
        ThSAD2   = Default(ThSAD2,10000)                        # Setting lower, sets SAD thresold to limit blurring effect of more distant reference frame BAD matching blocks. (MCompensate arg)
        Pel      = Default(pel,2)                               # Default 2. 1, 2, or 4. Maybe set 1 for HD+. (1=precision to pixel, 2=precision to half pixel, 4=quarter pixel)
        Chroma   = Default(chroma,True)                         # MAnalyse chroma arg. If set to true. Use chroma in block matching.
        BlkSz    = Default(BlkSz,8)                             # Default 8. MAnalyse BlkSize. Bigger blksz quicker and perhaps  better, esp for HD clips.
        OLap     = Default(OLap, BlkSz/2)                       # Default half of BlkSz.
        Tm       = Default(tm,True)                             # TrueMotion, Some folk swear MAnalyse(truemotion=false) is better.
        Glob     = Default(glob,Tm)                             # Default Tm, Allow set MAnalyse(global) independently of TrueMotion.
        Bblur    = Default(bblur,0.0)                           # Default OFF
        Assert(1 <= RadT,"SpotLess: 1 <= RadT")
        pad      = max(BlkSz,8)
        sup      = (bBlur<=0.0  ? c   : c.blur(bblur)).MSuper(hpad=pad,vpad=pad,pel=pel,sharp=2)
        sup_rend = (bBlur<=0.0) ? sup : c.MSuper(hpad=pad,vpad=pad,pel=pel,sharp=2,levels=1) # Only 1 Level required where not MAnalyse-ing.
        MultiVec = sup.MAnalyse(multi=true, delta=RadT,blksize=BlkSz,overlap=OLap,search=4,chroma=Chroma,truemotion=Tm,global=Glob)
    
        MultiVec =    sup.MAnalyse(multi=true, delta=RadT,blksize=BlkSz,overlap=OLap,search=4,chroma=Chroma,truemotion=Tm,global=Glob)
        # Need to test for OLap<1
        MultiVec_re = MRecalculate(sup,MultiVec, chroma=Chroma,blksize=BlkSz/2, overlap=OLap/2,truemotion=Tm,tr=RadT) #thSAD needs should not be hard-wired like this
        c.MCompensate(sup_rend,MultiVec_re,tr=RadT,thSad=ThSAD,thSad2=ThSAD2)
        MedianBlurTemporal(radiusY=0,radiusU=0,radiusV=0,temporalradius=RadT)  # Temporal median blur only [not spatial]
        SelectEvery(RadT*2+1,RadT)                                             # Return middle frame
    }
    Last edited by johnmeyer; 20th Sep 2020 at 00:17. Reason: Added pictures
    Quote Quote  



Similar Threads

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