VideoHelp Forum




+ Reply to Thread
Results 1 to 21 of 21
  1. Member
    Join Date
    Aug 2007
    Location
    United States
    Search Comp PM
    Hi all,
    Any suggestions to make this video better?
    NTSC, 60FPS, Interlaced home video captured from analog camcorder
    Camcorder ---S-Video--->DVD Recorder
    http://42mb.com/v/9748809/VideoFile.m2v.html

    I haven't been able to do the following successfully.... Am I expecting too much?

    Deinterlace: Tried: Yadif, LeakKernelBob. Both cases: Objects are doubled in high motion areas

    Destabilize: Tried: DePanStabilize. Either black around the edges or I had to zoom in yielding grainy results. Plus date/time stamp went flying all over.

    Delogo: Tried: Delogo, xlogo. Results of masking the date/time stamp were poor at best.

    Any suggestions on how to make this video better would be much appreciated!
    My goal is to burn the edited verson back to DVD for playing on a DVD player.
    Thanks,
    Chris
    Quote Quote  
  2. If you're going to DVD -- don't deinterlace.

    You won't be able to deshake without the date and time flying around. You also won't be able to avoid black borders or zooming.

    Delogo won't work well with an opaque logo.
    Quote Quote  
  3. Member Soopafresh's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    MVtools. Yes, it'll take forever, but your footage will look so much better. If you're using Mpeg2source, make sure to add the "Cpu=4" parameter, as in the script posted below. That will add deblocking.




    Before

    After


    setmemorymax(512)
    loadplugin("G:\benchmark\DGDecode.dll")
    loadplugin("G:\benchmark\mvtools.dll")
    function MVDegrain2i(clip "source", int "overlap", int "dct", int "idx")
    {
    overlap=default(overlap,0) # overlap value (0 to 4 for blksize=8)
    dct=default(dct,0) # use dct=1 for clip with light flicker
    idx=default(idx,1) # use various idx for different sources in same script
    fields=source.SeparateFields() # separate by fields
    backward_vec2 = fields.MVAnalyse(isb = true, delta = 2, pel = 2, overlap=overlap, idx = idx,dct=dct)
    forward_vec2 = fields.MVAnalyse(isb = false, delta = 2, pel = 2, overlap=overlap, idx = idx,dct=dct)
    backward_vec4 = fields.MVAnalyse(isb = true, delta = 4, pel = 2, overlap=overlap, idx = idx,dct=dct)
    forward_vec4 = fields.MVAnalyse(isb = false, delta = 4, pel = 2, overlap=overlap, idx = idx,dct=dct)
    fields.MVDegrain2(backward_vec2,forward_vec2,backw ard_vec4,forward_vec4,thSAD=400,idx=idx)
    Weave()
    }

    source=mpeg2source("G:\benchmark\VideoFile.d2v",cp u=4)
    mvdegrain2i(source,4,1,1)
    Quote Quote  
  4. Member
    Join Date
    Aug 2007
    Location
    United States
    Search Comp PM
    I get an error running the above script:
    MVAnalyse does not have a named argument "dct"

    Using mvtools_25_dll_20060605 from http://avisynth.org/warpenterprises/

    Thanks,
    Chris
    Quote Quote  
  5. newer version at the bottom of this page:

    http://avisynth.org.ru/mvtools/mvtools.html
    Quote Quote  
  6. Member
    Join Date
    Aug 2007
    Location
    United States
    Search Comp PM
    Thanks! I'll try again when I get home.
    Quote Quote  
  7. Member
    Join Date
    Aug 2007
    Location
    United States
    Search Comp PM
    Ok, the good news: The results look great.

    The bad news: It took 1.5 hours for a 20 second clip!
    It will take 22.5 days to do 2 hours.

    Does anyone have any clever ways to speed this up? Buying a new CPU is not an option. I am using an Intel P4 3.0. I was thinking maybe MT: http://forum.doom9.org/showthread.php?s=3413d0791caeed29a2782185e005cff8&t=94996

    Anyone know if, and then how, I could incorporate MT into this script?
    Thanks,
    Chris
    Quote Quote  
  8. Originally Posted by chrishallowell
    Ok, the good news: The results look great.
    I thought it was over filtered. Notice how all the detail in the floor and kids' hair is gone.

    Originally Posted by chrishallowell
    The bad news: It took 1.5 hours for a 20 second clip!
    It will take 22.5 days to do 2 hours.

    Does anyone have any clever ways to speed this up? Buying a new CPU is not an option. I am using an Intel P4 3.0. I was thinking maybe MT: http://forum.doom9.org/showthread.php?s=3413d0791caeed29a2782185e005cff8&t=94996

    Anyone know if, and then how, I could incorporate MT into this script?
    It might help a tiny bit with a hyperthreaded CPU. It really needs a multicore CPU.

    If you want faster noise reduction you can try something like Convolution3d().
    Quote Quote  
  9. Member vhelp's Avatar
    Join Date
    Mar 2001
    Location
    New York
    Search Comp PM
    Evening guys.

    chrishallowell,

    My first impression on your small demo left me the impression that you included a NR
    setting in your dvd recorder or vhs (vcr) unit or both. As jagabo indicated also,
    there is little detail (no usual tape noise) left in the capture of that demo. Thus, you
    already have NR in there .. and adding more (NR/Smoothing) is removing even more.

    I'm not saying that your demo sample is bad or anything. Just that I noticed it very
    quickly that you had already apply a NR in their during your carpture phase .. or maybe
    you didn't know it was set that way on your equipment.

    Now, IMHO, I think that if you re-do your capture of that last demo sample, you might
    get more detail (tape noise, etc) that might give you something work with in your next
    post-process steps, after capturing.

    Personally, if it were me, I would leave *all* NR (noise reduction) schemes out of the
    transfer loop and just capture the source as it is, and then do the post-processing
    afterwards. But, as a beginner, (and I understand this) is hard for you to understand
    and utilize, because your NR knowledge (ie, avi->NR->editing->encoding) is prob limited.

    Also, might help to describe your Software and Equipment, so we can get an idea of
    where you might get better suggestions/tips or something.

    And, for what its worth, when transfering (personal/priceless) home footage, it is
    *HIGHLY* recommended that you incorporate an Analog Capture card, and capture
    as close to the source type as possible -- usually as RAW yuv, or YUY2/UYVY, though
    you can get by with Huffy or Lagarith if HDD space is minimal and if that your computer
    is setup properly and capable of stable drop-free video captures..

    ** Analog Capture card
    ** capture codec: RAW (or, uncompressed) YUV .. ie, YUY2 or UYVY
    ** alternate codec: Huffy or Lagarith .. are ok
    ** s-video cables .. for IN <--> OUT

    Unfortunately, all too many people do the wrong thing when it comes to home video
    as stored on some form of tape, usually vhs/vhs-c/8mm etc., and assume that the
    *grain* is the enemy. Well, let me tell ya.. it ain't

    Believe it or not, its your video's detail. And you don't want your machine to remove
    it with its built-in option of NR feature. Instead, leave it in there, and later on, during
    your post-processing (your [..NR..] editing) and experiment with improving that area.

    Try re-capturing that same demo clip and post another D/L link for us to work with,
    again. Maybe it will come out better than your demo. Or maybe, not. But at least
    you have some options to work with, now.

    -vhelp 4396
    Quote Quote  
  10. Member Soopafresh's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    Try V 1.4x or 1.6x of MVtools - It is supposed to be a bit faster. MT isn't an option - it isn't compatible with Mvtools

    You can reduce the strength of MVDegrain2:


    fields.MVDegrain2(backward_vec2,forward_vec2,backw ard_vec4,forward_vec4,thSAD=400,idx=idx)


    Try changing thSAD to 200



    That's the thing about MVdegrain - Very good, but slow as molasses.
    Quote Quote  
  11. Member
    Join Date
    Aug 2007
    Location
    United States
    Search Comp PM
    Thanks Guys!
    I will try capturing the following way: Camcorder(Hi8)----S-Video--->PC Capture card
    But I can't do this until my wife gets back. She has the camcorder and is on vacation.

    How would I go about capturing the video using the uncompressed option? Do I use a AviSynth script?

    Software: Anything that is freeware is fair game. I'm using AvsP for AviSynth script creation and then HCGui for encoding and muxman for muxing. Then I use GUI for DVDAuthor for menus and burning to DVD.

    The video clip that I posted above was captured from Hi8-----S-Video---->DVD Recorder. I have no idea what the DVD recorder did when it burnt the video to DVD....

    Thanks,
    Chris
    Quote Quote  
  12. Member
    Join Date
    Aug 2007
    Location
    United States
    Search Comp PM
    Ok, I have captured using the below without compression and in colorspace YUY2:
    Camcorder(Hi8)----S-Video--->PC Capture card
    http://42mb.com/v/3054230/CAPTURE2.AVI.html

    Will I be able to get better results using this method and Avisynth rather than the DVD recorded version?

    I noticed VirtualDubMod would only capture using 15fps. If I tried 29.8 fps it wouldn't detect the incoming video feed. So is this interlaced, Bottom field first 15 fps video? Should I be concerned with 15fps vs 29.98fps?

    Thanks,
    Chris
    Quote Quote  
  13. Member Soopafresh's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    It doesn't look right.
    Quote Quote  
  14. The sample video was free of compression and denoising artifacts so it's a good place to start.

    You need to figure out why you can't capture at 29.97 fps though.

    Here's what the Neat Video noise filter for VirtualDub can do for it (before, after):




    I left some of the noise (a little noise is your friend -- it prevents posterization artifacts) and notice you can still see the pattern in the wallpaper and the grain in the floor. I only have the demo version of Neat Video so I had to crop the frame down to 640x480.
    Quote Quote  
  15. Member
    Join Date
    Aug 2007
    Location
    United States
    Search Comp PM
    Thanks jagabo.

    Which software would you recommend using to capture the source? VirtualDubMod doesn't seem to want to capture in 29.97fps for me.

    Thanks,
    Chris
    Quote Quote  
  16. It's unusual that VirtualDubMod won't let you capture at 29.97fps. I don't know what capture card you're using. Didn't it come with some software?
    Quote Quote  
  17. Member
    Join Date
    Aug 2007
    Location
    United States
    Search Comp PM
    OK, I was able to capture in 29.97fps using Cyberlink PowerProducer. I captured uncompressed(RAW) AVI in colorspace YUY2.
    http://42mb.com/v/1166404/Captured3.avi.html

    Any suggestions on how to make this better using Avisynth?

    Thanks,
    Chris
    Quote Quote  
  18. I'm of a slightly different school than most around here -- I'm not big on noise filtering. Some detail is always lost with the noise. About the most I'd do with that video is mask the head switching noise at the bottom of the frame. Then I'd encode to MPEG2 with a high bitrate (assuming DVD is your goal).

    One observation: the file you uploaded is RGB24, not YUY2. Maybe you used VirtualDub to prepare the clip and forgot to switch to Direct Stream Copy mode? It looks like the YUY2 to RGB24 conversion is causing crushed whites.
    Quote Quote  
  19. Member
    Join Date
    Aug 2007
    Location
    United States
    Search Comp PM
    I did use VirtualDub to prepare the clip....
    How do I mask the head switching noise at the bottom?
    What's direct stream copy mode and how do I set that in an Avisynth script?

    If I'm no going to do any color alterations, I should just capture in YV12 since I'm using HC to encode to DVD format, right?

    Thanks,
    Chris
    Quote Quote  
  20. Originally Posted by chrishallowell
    I did use VirtualDub to prepare the clip....
    What's direct stream copy mode and how do I set that in an Avisynth script?
    Direct Stream Copy mode only relates to VirtaulDub. VirtualDub's default behaviour is to decompress the incoming video (if compressed) and convert it to RGB. All of its filtering is performed in RGB then the video is passed to the ouput file or codec as RGB. Direct Stream Copy is an alternate mode of operation in which the incoming video isn't decompressed or converted to RGB, its simply copied to the output file. No filtering or recompressing is allowed in Direct Stream Copy mode.

    To create your short clip you should have used Direct Stream Copy mode so that the clip would have been an exact copy of those frames from your source. Conversion to RGB crushes the darkest and lightest areas and reduces the color accuracy of the rest by a bit. RGB is also 50 percent larger than YUY2.

    Originally Posted by chrishallowell
    How do I mask the head switching noise at the bottom?
    Most editors have area fill functions or cropping/padding functions. I don't know of a fill function in AVISynth (maybe someone else does) but you can Crop() and AddBorders() to replace the head switching noise with a solid black border.

    Crop(0, 0, -0, -8) #crop 8 lines off the bottom
    AddBorders(0, 0, 0, 8) #add 8 lines of black to the bottom

    Originally Posted by chrishallowell
    If I'm no going to do any color alterations, I should just capture in YV12 since I'm using HC to encode to DVD format, right?
    If you don't plan on extensive filtering you might as well capture directly to YV12 if your card supports it. Be sure to capture interlaced and be sure the encoder knows its interlaced. Otherwise the color channels of the two fields will get blurred together.
    Quote Quote  



Similar Threads

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