VideoHelp Forum
+ Reply to Thread
Results 1 to 14 of 14
Thread

Threaded View

  1. Hi All,

    What are the best filters if any to help clean up this video? Should I use NeatVideo to clean the noise?
    Is this video progressive or interlaced/Top/Bottom? Gspot doesn't tell me.

    I'm still learning how to clean video.

    FileSize: 123mb
    http://www.lwintegrationtest.com/speechvideo.avi


    Thanks.
    Quote Quote  
  2. Your video is interlaced, top field first. Use the bob doubler filter in VirtualDub to test the field order. If you get back and forth motion in the output pane you selected the wrong field order in the filter.
    Quote Quote  
  3. Banned
    Join Date: Oct 2004
    Location: New York, US
    Search Comp PM
    A helpful web page showing how to analyze the structure of video is here: http://neuron2.net/faq.html

    A basic, somewhat dated but still informative beginner's guide to post-processing in Avisynth us here:
    http://www.doom9.org/index.html?/capture/postprocessing_avisynth.html

    A similar guide for VirtualDub post-processing: http://www.doom9.org/index.html?/capture/postprocessing_vdub.html

    You would have to be familiar with Avisynth and VirtualDub alike. Both have their pros and cons, but most people use both apps. There are many "favorite" filters for video -- everyone has their preferences -- but no "best" filters. It depends on the nature of the video and what you want to do. Most filters that you see mentioned in this forum are designed with a particular purpose in mind.

    I find NeatVideo essential for many projects, especially for VHS transfers. But I don't throw NeatVideo at every clip I see, and others are essential as well in both Avisynth and VirtualDub. if you're new at processing, VirtualDub is easier to learn. But you'll run into problems that can be repaired only with Avisynth (such as the bad frames in your AVI sample, for instance). These plugins and techniques have a learning curve. With NeatVideo, for instance, most users would implement NV's default settings -- a big mistake. NV is best used by viewing through its Advanced Interface and learning to adjust filter power settings. There are some Avisyth plugins with literally dozens of settings. It takes time to absorb all this, and some of it can be tricky.

    For starters, trying looking at the last few months of posts in the Restoration forum, especially those with severe video problems and lots of member responses. Some of the fixes might seem intimidating and complex at first, but you'll quickly get an idea of the most common problems and solutions. For your own work, it's usually best to submit a problem video and target specific issues.
    Last edited by sanlyn; 21st Mar 2014 at 20:47.
    Quote Quote  
  4. Member
    Join Date: Dec 2002
    Location: United States
    Search Comp PM
    sanlyn,

    What kind of settings do you recommend when using Neat Video? Do you know of a tutorial online that you would recommend to improve the Neat Video settings? I have found some tutorials that suggest building the profile by manually selecting different color ranges and applying the selection to the noise profile. I understand this, but sometimes different areas are not available that comply with the typical selection process in Neat Video (find uniform areas of the frame that have no features for each of the various color spectrum).

    Also, I always get the nag warning that the area that I selected is too small. This seems impossible to avoid when working with interlaced video as the entire frame is split in two and most of the flat featureles uniform areas are small portions of the frame. Are your experiences the same?

    OP: I do not mean to hijack the thread, I just hoped to add to your theme of proper use of filters.


    Thanks.


    - Smells_Like_Feet
    Quote Quote  
  5. Banned
    Join Date: Oct 2004
    Location: New York, US
    Search Comp PM
    I get the nag warning, too. But I go ahead anyway. Better than nothing. Seriously, with some video you can't find a good spot anywhere in a sequence of scenes. But you don't need that specific scene. You can find better areas in the same video. Or, I've used a noise sample from another video that had very similar noise, and it did pretty well (Wish I could find the recent post where I noted doing that. . .). Remember, the name of the sample is dnp (device noise profile); a tape player is a device that qualifies, and players have characteristic noise patterns. VHS tape noise is rather typical (unless it's hopelessly damaged). These elements are major components of noise profiles.

    Sample size is important, too. I've used 64x64 patches. Again, better than nothing. The warnings that are kinda like a Windows blue screen, though, are "clipping" and "not uniform". You don't have much choice there, except try a sample from elsewhere. The clipping limit can be bypassed by first preparing the video with a filter that helps lift or lower seriously out of range color or luma. Ultimately you'll have to do that anyway.

    Another sample from tape or tv shows is to find a bigger area in a tv commercial or VHS logo (like the "MGM Home Video" logo I once used, with it's noisy blue background). The sample doesn't have to be from the exact scene you're fixing. I've even used a frame from black lead-in and lead-out tape -- not perfect, but NeatVideo gave it a 56% rating, better than the 40% you get from tiny patches.

    I have no "recommended" settings, nor have I ever seen any posted. I would never recommend the defaults. But some things should be avoided. The Y-channel filter is the most destructive of fine detail, just as strong luma filtering is with many Avisynth plugins. I haven't used y-channel filtering higher than 50% in a long time; often I use it at 30 or even 20. When you see very fine grain like film grain in a video, a high y-channel filter will remove virtually all of it, making your video look plastic.

    The advanced settings are for fine-tuning in stages: at the top are sliders for how much of your noise sample is really noise. I don't reset those often, but consider that in a rain scene, driving rain looks like noise but isn't. And think of sand and dust storms. Settings below the top level will progressively narrow the definition of noise even further, and at the bottom of the pane of sliders you have the power settings. Medium- and low-level noise (big clumps, heavy grain, posterization effects, banding) are the kind of stuff motion-based filters often attack. Those can be fairly high around 60% or better. But check the preview screen carefully or a nice head of thick hair will turn into a ragmop. The sharpener, too, is overdone; I keep it around 30%, and sometimes I turn Y-sharping off or general sharpening down when I see ringing on edges or glare in facial highlights.

    The big secret behind the advanced settings is that there is no secret. Every video will has different requirements. You learn by fiddling arou8nd and checking carefully, but it doesn't take long to get a handle on what the settings can or can't do. If you find you're dealing with video that requires 100% of everything, rethink the sequence. You might need some prep work in Avisynth first. Many users don't even know that NV has temporal filter settings in the opening window. You can set these before you set the profiles, or when you exit. I use a setting of 1 or 2, at about 25% processing priority. Try a setting of 3 at 45% lots of video noise and even some forms of motion and high-compression artifacts. Like any strong temporal filter at higher settings, it can soften stuff.

    On a few occasions I've done the unthinkable: chain two instances of very low-power NeatVideo filters in a row. This often works well on fragile stuff that really won't take much of anybody's filtering, period.

    Big rule: use NeatVideo by itself. Don't mix color filters, denoisers, etc., with it.

    These considerations apply to other VirtualDub and Avisynth filters. Any of them can be useless or destructive, depending on how you use them. And if you think NeatVideo is a little slow, try MCTemporalDenoise or TemporalDegrain sometime. Have something else to do while you wait.

    I wonder why no one in the forum ever set up user guides for some of these tricky multi-function filters?
    Last edited by sanlyn; 21st Mar 2014 at 20:47.
    Quote Quote  
  6. Member themaster1's Avatar
    Join Date: Nov 2006
    Location: France
    Search Comp PM
    Try this as a starting point:

    AVISource("C:\speechvideo.avi")
    assumetff()
    converttoyv12(interlaced=true)
    input=last
    ######## Deblock interlaced video ############
    par=getparity()
    SeparateFields().PointResize(width,height)
    Deblock_QED(24,28,uv=3)
    AssumeFrameBased()
    SeparateFields()
    Merge(SelectEven(),SelectOdd())
    par ? AssumeTFF() : AssumeBFF()
    Weave()
    ##### High Dynamic Range Automatic Gain Control #######
    #Source: http://strony.aster.pl/paviko/hdragc.htm
    separatefields()
    HDRAGC()
    weave()
    ### DV DROPOUT (BAD FRAMES REBUILDING) #########
    # Source: http://forum.doom9.org/showthread.php?t=128649&highlight=dropout
    morph(22,24) # frame 23 is replaced
    morph(24,27) # frames 25,26 replaced
    morph(36,38) # frames 37 replaced (result not that good here)
    #### Camcorder Color Denoise (desaturate) ############
    converttorgb32(interlaced=true)
    LoadVirtualdubPlugin("C:\Program Files (x86)\virtualdub1.9\plugins\Camcorder_Color_Denois e_sse2.vdf","ccd",1)
    ccd(95,1)

    ########## Denoiser ############
    #Source (fft3d gpu): http://forum.doom9.org/showthread.php?t=89941
    #Source (fft3d) http://avisynth.org.ru/fft3dfilter/fft3dfilter.html
    converttoyv12(interlaced=true)
    # Denoise UV (Colors)
    fft3dfilter(sigma=2.0,sigma2=8.0,sigma3=7.0,sigma4 =10, bt=1, bw=16, bh=16, ow=8, oh=8,plane=3, sharpen=0.0,interlaced=false,dehalo=0.0) # U= Bleu V= vert
    # Denoise Y ( Luma)
    fft3dgpu(bt=2,sigma=1.5,sigma2=2.8,sigma3=3.5,sigm a4=5.0,bw=32,bh=32,ow=16,oh=16,sharpen=0,plane=0,m ode=1,precision=2,interlaced=false,oldfft=false)
    ######## Grain ###########
    # Source: http://forum.doom9.org/showthread.php?t=144537
    GradFun2DBmod(str=[<"Grain Quantity", 0.9, 10.0, 1.1>])
    stackvertical(input,last)
    Result Preview:
    http://imageupload.org/en/file/191119/frame-112.jpg.html
    Last edited by themaster1; 29th Feb 2012 at 21:48.
    Quote Quote  
  7. Originally Posted by themaster1 View Post
    Try this as a starting point:

    AVISource("C:\speechvideo.avi")
    assumetff()
    converttoyv12(interlaced=true)
    input=last
    ######## Deblock interlaced video ############
    par=getparity()
    SeparateFields().PointResize(width,height)
    Deblock_QED(24,28,uv=3)
    AssumeFrameBased()
    SeparateFields()
    Merge(SelectEven(),SelectOdd())
    par ? AssumeTFF() : AssumeBFF()
    Weave()
    ##### High Dynamic Range Automatic Gain Control #######
    #Source: http://strony.aster.pl/paviko/hdragc.htm
    separatefields()
    HDRAGC()
    weave()
    ### DV DROPOUT (BAD FRAMES REBUILDING) #########
    # Source: http://forum.doom9.org/showthread.php?t=128649&highlight=dropout
    morph(22,24) # frame 23 is replaced
    morph(24,27) # frames 25,26 replaced
    morph(36,38) # frames 37 replaced (result not that good here)
    #### Camcorder Color Denoise (desaturate) ############
    converttorgb32(interlaced=true)
    LoadVirtualdubPlugin("C:\Program Files (x86)\virtualdub1.9\plugins\Camcorder_Color_Denois e_sse2.vdf","ccd",1)
    ccd(95,1)

    ########## Denoiser ############
    #Source (fft3d gpu): http://forum.doom9.org/showthread.php?t=89941
    #Source (fft3d) http://avisynth.org.ru/fft3dfilter/fft3dfilter.html
    converttoyv12(interlaced=true)
    # Denoise UV (Colors)
    fft3dfilter(sigma=2.0,sigma2=8.0,sigma3=7.0,sigma4 =10, bt=1, bw=16, bh=16, ow=8, oh=8,plane=3, sharpen=0.0,interlaced=false,dehalo=0.0) # U= Bleu V= vert
    # Denoise Y ( Luma)
    fft3dgpu(bt=2,sigma=1.5,sigma2=2.8,sigma3=3.5,sigm a4=5.0,bw=32,bh=32,ow=16,oh=16,sharpen=0,plane=0,m ode=1,precision=2,interlaced=false,oldfft=false)
    ######## Grain ###########
    # Source: http://forum.doom9.org/showthread.php?t=144537
    GradFun2DBmod(str=[<"Grain Quantity", 0.9, 10.0, 1.1>])
    stackvertical(input,last)
    Result Preview:
    http://imageupload.org/en/file/191119/frame-112.jpg.html

    Thanks, I'll give this a try!
    Quote Quote  
  8. Banned
    Join Date: Oct 2004
    Location: New York, US
    Search Comp PM
    Originally Posted by mlong30 View Post

    Thanks, I'll give this a try!
    Careful, mlong, the way that script is posted contains spacing errors. This often happens with our schizoid forum software, it puts lines and spaces where they don't belong if the text isn't enclosed within "Code" symbols.
    Last edited by sanlyn; 21st Mar 2014 at 20:48.
    Quote Quote  
  9. Banned
    Join Date: Oct 2004
    Location: New York, US
    Search Comp PM
    Uh...pretty heavy stuff for a starter, themaster1.
    Last edited by sanlyn; 21st Mar 2014 at 20:47.
    Quote Quote  
  10. Member
    Join Date: Dec 2002
    Location: United States
    Search Comp PM
    sanlyn,

    Thank you so much for the detailed response. I look forward to working through all of it this weekend.

    - Smells_Like_Feet
    Quote Quote  
  11. Banned
    Join Date: Oct 2004
    Location: New York, US
    Search Comp PM
    You're welcome. I'll admit, when I first started this crazy obsession I was totally lost. Now I'm only partially lost.
    Every project is a learning experience. Good luck.
    Last edited by sanlyn; 21st Mar 2014 at 20:47.
    Quote Quote  
  12. For some odd reason, when I try to run the following script, I get no errors, but nothing changes in the video. The output windows, looks just like the source in VirtuaDub 1.9.11. Any ideas?

    Import("C:\Program Files\AviSynth 2.5\plugins\Deblock_QED.avs")
    LoadPlugin ("C:\Program Files\AviSynth 2.5\plugins\gradfun2db.dll")
    LoadPlugin ("C:\Program Files\AviSynth 2.5\plugins\AddGrainC.dll")
    LoadPlugin ("C:\Program Files\AviSynth 2.5\plugins\RemoveGrain.dll")
    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\FFT3DFilter.dll")
    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mvtools.dll")

    AVISource("C:\speechvideo.avi")
    assumetff()
    converttoyv12(interlaced=true)
    input=last
    ######## Deblock interlaced video ############
    par=getparity()
    SeparateFields().PointResize(width,height)
    Deblock_QED(24,28,uv=3)
    AssumeFrameBased()
    SeparateFields()
    Merge(SelectEven(),SelectOdd())
    par ? AssumeTFF() : AssumeBFF()
    Weave()
    ##### High Dynamic Range Automatic Gain Control #######
    #Source: http://strony.aster.pl/paviko/hdragc.htm
    separatefields()
    HDRAGC()
    weave()
    ### DV DROPOUT (BAD FRAMES REBUILDING) #########
    # Source: http://forum.doom9.org/showthread.ph...hlight=dropout
    morph(22,24) # frame 23 is replaced
    morph(24,27) # frames 25,26 replaced
    morph(36,38) # frames 37 replaced (result not that good here)
    #### Camcorder Color Denoise (desaturate) ############
    converttorgb32(interlaced=true)
    LoadVirtualdubPlugin("C:\VirtualDub-1.9.11\plugins\ccd_sse2.vdf","ccd",1)
    ccd(95,1)

    ########## Denoiser ############
    #Source (fft3d gpu): http://forum.doom9.org/showthread.php?t=89941
    #Source (fft3d) http://avisynth.org.ru/fft3dfilter/fft3dfilter.html
    converttoyv12(interlaced=true)
    # Denoise UV (Colors)
    fft3dfilter(sigma=2.0,sigma2=8.0,sigma3=7.0,sigma4 =10, bt=1, bw=16, bh=16, ow=8, oh=8,plane=3, sharpen=0.0,interlaced=false,dehalo=0.0) # U= Bleu V= vert
    # Denoise Y ( Luma)
    fft3dgpu(bt=2,sigma=1.5,sigma2=2.8,sigma3=3.5,sigm a4=5.0,bw=32,bh=32,ow=16,oh=16,sharpen=0,plane=0,m ode=1,precision=2,interlaced=false,oldfft=false)

    ######## Grain ###########
    # Source: http://forum.doom9.org/showthread.php?t=144537
    #GradFun2DBmod(str=[<"Grain Quantity", 0.9, 10.0, 1.1>])
    GradFun2DBmod(1.1)
    stackvertical(input,last)

    I also attached a list of my plugins for AviSynth 2.5.

    Thanks.
    Attached Images  
    Quote Quote  
  13. Are you looking at the entire frame? Note the last line of that script (stackvertical(input,last)) stacks the original video on top of the processed video. If you're only looking at the top half of the frame you're only seeing the original video.
    Quote Quote  
  14. Member themaster1's Avatar
    Join Date: Nov 2006
    Location: France
    Search Comp PM
    Try stackhorizontal(input,last) and don't use virtualdub but avspmod, much better
    Quote Quote  



Similar Threads