VideoHelp Forum




+ Reply to Thread
Results 1 to 10 of 10
  1. lets say i have a 30min video and i want to use "QTGMC(FPSDivisor=2)" on a few frames to fix interlacing problem

    script :

    Mpeg2Source("i:\VIDEO_TS.d2v", CPU2="ooooxx")
    TFM().TDecimate(Mode=1)
    ColorMatrix(mode="rec.601->rec.709")
    ColorYUV(cont_y=10, cont_u=0, cont_v=20,gamma_y=-10)
    McTemporalDenoise(settings="Low")
    nnedi3_rpow2(2, cshift="spline36resize", fwidth=1280, fheight=720)
    Sharpen(0.7)
    McTemporalDenoise(settings="Medium")
    Hysteria(strength=3.0, maxchg=24,lowthresh=12)
    Dehalo_alpha(rx=3, ry=3, darkstr=0.3, brightstr=0.3)
    Blur(0.6)
    Quote Quote  
  2. Create two videos, one with QTGMC() one without, then use Trim() or ReplaceFramesSimple().
    Quote Quote  
  3. Originally Posted by jagabo View Post
    Create two videos, one with QTGMC() one without, then use Trim() or ReplaceFramesSimple().
    the thing is , they are in different parts in the video and for all the other "normal parts" i am using the original script

    is there a way to set a group like

    a= from frame 10000 to 11000 use QTGMC()+ the original script
    b= from frame 15000 to 16000 use QTGMC()+ the original script
    c= from frame 20000 to 21000 use QTGMC()+ the original script

    and for all the other just use the original one
    Quote Quote  
  4. ReplaceFramesSimple() is made just for that type of replacement.


    Code:
    ReplaceFramesSimple(VidWithoutQTGMC, VidWithQTGMC, mappings="[10000 11000] [15000 16000] [20000 21000]")
    Quote Quote  
  5. Originally Posted by jagabo View Post
    ReplaceFramesSimple() is made just for that type of replacement.


    Code:
    ReplaceFramesSimple(VidWithoutQTGMC, VidWithQTGMC, mappings="[10000 11000] [15000 16000] [20000 21000]")
    is there a way to just make it go in one encoding? (since ill need to to the whole video encoding twice and it will take a lot of time)
    Quote Quote  
  6. You don't have to encode the whole video twice. Just create the QTGMC processed video to your current script.

    Code:
    VidWithoutQTGMC = src.Whatever()
    VidWithQTGMC = src.WhateverIncludingQTGMC()
    ReplaceFramesSimple(VidWithoutQTGMC, VidWithQTGMC, mappings="[10000 11000] [15000 16000] [20000 21000]")
    Quote Quote  
  7. Maybe he means filtering is so slow he doesn't want to do it twice with 2-pass encoding?
    You can encode to a lossless (e.g. x264 --qp 0) or near-lossless intermediate file first and then do the actual encoding passes from that one later. (I'm wondering if doing the first pass on the not deinterlaced source would be good enough. Or just a very fast deinterlacer on the first pass. That might also be a viable option.)
    Quote Quote  
  8. The OP hasn't stated how he wants to use QTGMC in that script. It could be used instead of TFM(), for example:

    Code:
    Mpeg2Source("i:\VIDEO_TS.d2v", CPU2="ooooxx")
    v1 = TFM()
    v2 = QTGMC(FPSDivisor=2)
    ReplaceFramesSimple(v1, v2, mappings="[10000 11000] [15000 16000] [20000 21000]")
    TDecimate(Mode=1)
    ColorMatrix(mode="rec.601->rec.709")
    ColorYUV(cont_y=10, cont_u=0, cont_v=20,gamma_y=-10)
    McTemporalDenoise(settings="Low")
    nnedi3_rpow2(2, cshift="spline36resize", fwidth=1280, fheight=720)
    Sharpen(0.7)
    McTemporalDenoise(settings="Medium")
    Hysteria(strength=3.0, maxchg=24,lowthresh=12)
    Dehalo_alpha(rx=3, ry=3, darkstr=0.3, brightstr=0.3)
    Blur(0.6)
    or after TFM().TDecimate():

    Code:
    Mpeg2Source("i:\VIDEO_TS.d2v", CPU2="ooooxx")
    TFM().TDecimate(Mode=1)
    v2 = QTGMC(FPSDivisor=2)
    ReplaceFramesSimple(last, v2, mappings="[10000 11000] [15000 16000] [20000 21000]")
    ColorMatrix(mode="rec.601->rec.709")
    ColorYUV(cont_y=10, cont_u=0, cont_v=20,gamma_y=-10)
    McTemporalDenoise(settings="Low")
    nnedi3_rpow2(2, cshift="spline36resize", fwidth=1280, fheight=720)
    Sharpen(0.7)
    McTemporalDenoise(settings="Medium")
    Hysteria(strength=3.0, maxchg=24,lowthresh=12)
    Dehalo_alpha(rx=3, ry=3, darkstr=0.3, brightstr=0.3)
    Blur(0.6)
    Note that the frame numbers will be different than in the first case because the video has already been decimated

    In both cases QTGMC() will not slow down the processing of frames 0-9999, 11001-14999, 16001-19999, and 21001 to the end.
    Quote Quote  
  9. Originally Posted by zanzar View Post
    is there a way to just make it go in one encoding? (since ill need to to the whole video encoding twice and it will take a lot of time)
    I may not be understanding either. But, it might be slow to open because it'll behave as if opening a script using QTGMC over the entire script. However, during the actual encoding, only the QTGMC parts will encode more slowly than the rest of the script. If QTGMC isn't used much in the RemapFramesSimple portion of the script, then the entire encode won't take much longer than if QTGMC hadn't been used at all. You mentioned there were only a few frames needing it.

    In addition, as you know, there are various settings for QTGMC that speed it up. In addition, you might be able to tighten up the CThresh setting in TFM to pick up the interlaced frames to begin with.
    Quote Quote  
  10. StainlessS' excellent "Clip Clop" AVISynth function may do what you want. If not, I think one of his other functions (in his RT_Stats suite) will get you where you want to go.

    Clip Clop
    Quote Quote  



Similar Threads

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