VideoHelp Forum
+ Reply to Thread
Results 1 to 12 of 12
Thread
  1. Member
    Join Date
    Dec 2010
    Location
    Romania
    Search PM
    I have a short movie from a wedding that was filmed with a NTSC camera in a PAL country and it has a flickering because a 50-60Hz difference. Did you know any filter to remove that flickering. Thank you.
    Quote Quote  
  2. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    What are you trying to do ? Convert that to PAL ?

    Just create an NTSC dvd. Will play fine in all PAL machines/tvs
    Quote Quote  
  3. Member
    Join Date
    Dec 2010
    Location
    Romania
    Search PM
    It was filmed in europe with 50 hz with NTSC camera and shuter speed 60. So on video is seeing a flickering. That annoyng flicker is on the film even is PAL or NTSC.
    Quote Quote  
  4. Member
    Join Date
    Dec 2010
    Location
    Romania
    Search PM
    Maybe I will put a sample for help?
    Quote Quote  
  5. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    Well until someone comes up with another suggestion, why not try mine.

    It seems that whatever you are playing this on thinks it is PAL whereas it is NTSC. Burn it as formal NTSC. No idea if it will work but it's worth a try.
    Quote Quote  
  6. Member
    Join Date
    Dec 2010
    Location
    Romania
    Search PM
    The video is on a miniDV tape filmed with SONY FX1000 NTSC filmed in europe. So the flicker is on the tape. I can burn it on PAL or NTSC sistem but the flicker is still there because it is on the tape.
    Quote Quote  
  7. There are filters / plugins for various NLE's for this sort of thing (scrolling bars) and flouro types of flicker, but they aren't as good as shooting properly in the first place, with the correct shutter speed and frame rate

    eg. digital anarchy flicker free, boris flicker fixer, revision fx deflicker - there are versions available for different NLE's and compositing applications

    Some free ones you can try in avisynth , such as deflicker, ttempsmooth (actually a temporal smoother), a few others

    You can post a sample to get more specific suggestions
    Quote Quote  
  8. Member
    Join Date
    Dec 2010
    Location
    Romania
    Search PM
    I put a sample
    Image Attached Files
    Quote Quote  
  9. Member
    Join Date
    Feb 2004
    Location
    Australia
    Search Comp PM
    You might ask manono about this, they seem to know more about avisynth

    They have commented on many posts concerning video shot incorrectly in this manner

    many posts related to avisynth via google including yadif and select every filters to correct frame rate issues.
    Quote Quote  
  10. I bob deinterlaced with avisynth's QTGMC , then processed with DE:Flicker in After Effects. My experience with various avisynth methods is they don't work very well for this type of flicker, or fluro or LED flicker (all have scrolling horizontal bands at different frequencies), but I'll play around and see if I can find one that works ok.

    The "side effect" of most deflicker algorithms is "ghosting" and detail loss from various temporal frame averaging techniques. But you could argue it's more "enjoyable" or at least "less annoying" to watch
    Image Attached Files
    Quote Quote  
  11. Member
    Join Date
    Dec 2010
    Location
    Romania
    Search PM
    Thank you poisondeathray. It is ok for me
    Quote Quote  
  12. BTW, I messed up the color on the demonstration above (wrong matrix 709 vs. 601) but it should be good enough to portray the general results. I don't like the edge artifacts (around some object edges, and frame edges), but it's not that noticable during normal playback. I don't like the fine detail loss either, but on the other hand it's sort of denoised.


    Here is an avisynth variant, but it's really, really slow. It uses functions from orginally from didee and scharif's brain (well known avisynth gurus). I started with the same QTGMC processed clip. Avisynth MT doesn't help much with the speed in this deflicker part of the script (it's already maxed out) - and may increase the risk of mixing up frames and actually be slower. But I used MT earlier for the QTGMC clip and used a lossless intermediate as input for this part. (The AE plugin above is GPU accelerated. CPU only is about 100x faster, GPU could be anywhere from 200-300x faster depending on the GPU)

    It keeps more details in some areas, but worse artifacts in others, there is more ghosting during motion portions. But at least it's a free alternative. You can modify the 2nd function to use a +/- 2 frame mcompensate check instead of +/- 3 frame which will speed it up slightly (still slow, fractional FPS's). The +/- 2 frame version is about 2-3x faster (which is still fractional FPS speed), but not that much different in terms of quality. (ReduceFlicker2 is the original 3 frame motion compensated version, ReduceFlicker2b is the faster 2 frame version)

    Code:
    #progressive input
    
    o = last
    sm = o.bicubicresize(360,270) # can be altered, but ~25% of original resolution seems reasonable
    smm = sm.temporalsoften(1,32,255,24,2).merge(sm,0.25)
    smm = smm.temporalsoften(2,12,255,20,2)
    o2 = o.mt_makediff(mt_makediff(sm,smm,U=3,V=3).bicubicresize(width(o),height(o),0,0),U=3,V=3)
    
    o2
    ReduceFlicker2()
    
    #########
    
    function ReduceFlicker2(clip clp)
    {
    source = clp
    super = source.MSuper(pel=2, sharp=1)
    backward_vec1 = MAnalyse(super, isb = true, delta = 1, blksize=16, overlap=8, chroma=false, dct=1)
    forward_vec1 = MAnalyse(super, isb = false, delta = 1, blksize=16, overlap=8, chroma=false, dct=1)
    backward_vec2 = MAnalyse(super, isb = true, delta = 2, blksize=16, overlap=8, chroma=false, dct=1)
    forward_vec2 = MAnalyse(super, isb = false, delta = 2, blksize=16, overlap=8, chroma=false, dct=1)
    backward_vec3 = MAnalyse(super, isb = true, delta = 3, blksize=16, overlap=8, chroma=false, dct=1)
    forward_vec3 = MAnalyse(super, isb = false, delta = 3, blksize=16, overlap=8, chroma=false, dct=1)
    bc1 = source.MCompensate(super, backward_vec1, thSAD=1000)
    fc1 = source.MCompensate(super, forward_vec1, thSAD=1000)
    bc2 = source.MCompensate(super, backward_vec2, thSAD=1000)
    fc2 = source.MCompensate(super, forward_vec2, thSAD=1000)
    bc3 = source.MCompensate(super, backward_vec3, thSAD=1000)
    fc3 = source.MCompensate(super, forward_vec3, thSAD=1000)
    Interleave(bc3, bc2, bc1, source, fc1, fc2, fc3)
    ReduceFlicker(strength=3, aggressive=true)
    SelectEvery(7, 3)
    
    return (last)
    }
    
    
    function ReduceFlicker2b(clip clp)
    {
    source = clp
    super = source.MSuper(pel=2, sharp=1)
    backward_vec1 = MAnalyse(super, isb = true, delta = 1, blksize=16, overlap=8, chroma=false, dct=1)
    forward_vec1 = MAnalyse(super, isb = false, delta = 1, blksize=16, overlap=8, chroma=false, dct=1)
    backward_vec2 = MAnalyse(super, isb = true, delta = 2, blksize=16, overlap=8, chroma=false, dct=1)
    forward_vec2 = MAnalyse(super, isb = false, delta = 2, blksize=16, overlap=8, chroma=false, dct=1)
    #backward_vec3 = MAnalyse(super, isb = true, delta = 3, blksize=16, overlap=8, chroma=false, dct=1)
    #forward_vec3 = MAnalyse(super, isb = false, delta = 3, blksize=16, overlap=8, chroma=false, dct=1)
    bc1 = source.MCompensate(super, backward_vec1, thSAD=1000)
    fc1 = source.MCompensate(super, forward_vec1, thSAD=1000)
    bc2 = source.MCompensate(super, backward_vec2, thSAD=1000)
    fc2 = source.MCompensate(super, forward_vec2, thSAD=1000)
    #bc3 = source.MCompensate(super, backward_vec3, thSAD=1000)
    #fc3 = source.MCompensate(super, forward_vec3, thSAD=1000)
    #Interleave(bc3, bc2, bc1, source, fc1, fc2, fc3)
    Interleave(bc2, bc1, source, fc1, fc2)
    ReduceFlicker(strength=2, aggressive=true)
    SelectEvery(5,2)
    
    return (last)
    }
    Image Attached Files
    Quote Quote  



Similar Threads

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