VideoHelp Forum
+ Reply to Thread
Results 1 to 8 of 8
Thread
  1. Hello

    I like to get some advice on how to write a script in avisynth, that fix the color only to specific frames of the video, and by using some virtualdub filter to fix that color. Is it possible ?

    Let say that I want to fix the color from the frame 22000 to 25000, and not touch the rest, how do I do that ?
    I know how to fix the colors, I have the numbers for those virtualdub filter So I dont need advise on the filters nor the numbers, but just how to use the virtualdub filter to fix color from one specific frame to an other.

    These are the plugins I'd like to use in my script

    FFVideoSource(source="C:\Users\Cartoon.mkv")

    #To be applyied only to a certain numbers of frame (ex:frame 22000 to 25000)
    ConverttoRGB32()
    LoadVirtualDubPlugin("C:\Users\Virtualdub\Plugins\ ColorMill.vdf", "ColorMill")
    ColorMill(25954, 25187, 25954, 24412, 25697, 23650, 25956, 24420, 25956, 25188, 25697, 25700, 25700, 1129, 8197)
    LoadVirtualDubPlugin("C:\Users\Virtualdub\Plugins\ COLOREQU.VDF", "CEQ")
    CEQ(256, 256, 256, 0, 0, 0)
    converttoYV12()

    #continuing normal process
    TemporalDegrain(degrain=3, ov=4, blksize=16)
    Hysteria()



    Thank you for your time, it is really appreciated
    Last edited by Altruo; 22nd Jul 2018 at 22:59.
    Quote Quote  
  2. Without a sample, it's quite hard to "imagine" a way to help you out, there are hundreds of colors issues we can think of.
    Send a screenshot, a few seconds video...
    Quote Quote  
  3. I know how to fix the colors, I have the numbers for those virtualdub plugins. What I want is to apply those filter to a specific numbers of frame. Ex from the frame 22000 to 25000, I want those filter to be apply, but not the rest of the video. So basically I like to know what to write in my script to make those filter work from one frame to an other, exclusively.
    Quote Quote  
  4. Originally Posted by Altruo View Post
    Let say that I want to fix the color from the frame 22000 to 25000, and not touch the rest, how do I do that ?
    One way:
    Code:
    # assuming last
    part1 = Trim(0,21999)
    part2 = Trim(22000,25000).FixColor()
    part3 = Trim(25001,0)
    
    part1++part2++part3
    Another way:

    Code:
    # assuming last
    fixed = Fixcolor()
    ReplaceFramesSimple(last, fixed, Mappings="[22000 25000]")
    http://avisynth.nl/index.php/RemapFrames
    Quote Quote  
  5. Good thank you Jagabo!

    Just a quick question, because I am confuse where I should load the virtualdub filter in all this?

    part2 = Trim(22000,25000).LoadVirtualDubPlugin("C:\Users\Virtualdub\Plugins\ COLOREQU.VDF", "CEQ"). CEQ(256, 256, 256, 0, 0, 0) ?
    Or do I need to load the filter higher in the script and then use the "part2 = Trim(22000,25000). CEQ(256, 256, 256, 0, 0, 0)"

    Sorry about that question but I am not use to call virtualdub plugins

    Thank you
    Quote Quote  
  6. My advice is to do this in your NLE. It is much better suited for cutting the video into scenes, and then do your color grading scene-by-scene.
    Quote Quote  
  7. sony vegas v12 and later has an excellent plugin called Color Match, that's what you need otherwise with avisynth plugin color like i believe
    Quote Quote  
  8. Originally Posted by Altruo View Post
    where I should load the virtualdub filter in all this?

    part2 = Trim(22000,25000).LoadVirtualDubPlugin("C:\Users\Virtualdub\Plugins\ COLOREQU.VDF", "CEQ").CEQ(256, 256, 256, 0, 0, 0) ?
    Or do I need to load the filter higher in the script and then use the "part2 = Trim(22000,25000). CEQ(256, 256, 256, 0, 0, 0)"
    You can't load it as you indicated in red because LoadVirtualDubPlugin() doesn't handle video, it simple makes the CEQ() function available. Load the plugin elsewhere in your script. I usually do all such imports at the top of the script. Then yes, it's called as you wrote (bolded). I don't have that VirtualDub filter so I don't know if those parameters are correct.
    Last edited by jagabo; 23rd Jul 2018 at 06:57.
    Quote Quote  



Similar Threads