VideoHelp Forum
+ Reply to Thread
Results 1 to 6 of 6
Thread
  1. Member
    Join Date: Jul 2010
    Location: Canada
    Search PM
    I'm capturing VHS tapes using an ATI TV Wonder 600 USB stick and VirtualDub.
    My source is interlaced (29.97 fps) and I'm capturing it as such.
    However, I noticed glitches in the final encoding, so I went back to the source and I noticed that occasionally the video is doubling one field over the other, resulting in a blended frame. It's as if the card missed one field, and used the previous one to complete the frame (i can see this using SeparateFields() from Avisynth and looking at the video field by field)

    I've attached an example : frames 95 and 101 are blended.

    I did another capture, and on the next capture the video is perfect, no blended frames on the sequence. But the problem happens at other places. So the problem comes from either the capture card or my capture settings on Virtualdub. Any idea what I could do to fix this issue ?

    Other than looking at the video field by field, would it be possible for a script to find these double fields ? Or can the source be fixed ?
    Attached Files
    Quote Quote  
  2. Member
    Join Date: May 2014
    Location: Tennessee, US
    Search Comp PM
    Doesn't look blended to me. Looks more like the result of dropped fields or frames.
    -ann's brother
    Quote Quote  
  3. Member
    Join Date: Jul 2010
    Location: Canada
    Search PM
    Yeah, maybe blended is not the right word.
    Looks like dropped field to me. Seems like VirtualDub used the top field to replace the dropped bottom field.

    But my questions remain : can I change my capture settings to avoid this ? And can I get Avisynth to detect these duplicate/dropped fields for me ?
    Quote Quote  
  4. Play around with the settings found at Capture -> Timing... Especially the Resync modes. If it's the capture device doing this you may be out of luck.
    Quote Quote  
  5. Member
    Join Date: May 2014
    Location: Tennessee, US
    Search Comp PM
    I don't have my capture PC available now, but there's a setting in the "Capture" menu (I think it's in the "timing" submenu) which enables something like replace frames if fields are too close together. Or something like that, I don't remember exactly. I leave it on all the time. It's on by default. But turning it off could just leave you with a missing frame entirely. Best to avoid dropped frames. Many factors affect it. if you're capturing to the same drive your OS is installed on, that can cause problems. I always reboot before captures to clear RAM, and I don't run other heavy-duty apps while capturing. But my capture PC is pretty old nowadays, with an ancient ATI 7500 AIW. Depends on your PC's setup.

    Might be an answer here: http://forum.videohelp.com/threads/104098-Why-does-your-system-drop-frames

    What are you playing this tape with? It has oversharpening halos (as usual) and bad combing. I fixed it a little -- deinterlaced with QTGMC, used ReplaceFramesMC to interpolate two missing fields, threw TComb() at it, then reinterlaced. Ain't perfect especially on fast motion, and sometimes ReplaceFramesMC creates weird artifacts. Again, it depends.
    Attached Files
    -ann's brother
    Quote Quote  
  6. Member
    Join Date: Jul 2010
    Location: Canada
    Search PM
    I think I have answered one of my questions. I was able to create a text file to get the fields that are a duplicate of the previous one by doing this :

    Code:
    ConvertToYV12(interlaced=true)
    bob() 
    WriteFileIf("C:\dups.txt", "YDifferenceFromPrevious < 5", "current_frame")
    By using bob() instead of separatefields(), it seems to work.
    It creates a lot of false positive though because of the high value of YDifferenceFromPrevious, but when I go lower than 5 it doesn't detect the true duplicates. Probably because the duplicates are usually 'fuzzier' than the original one, so maybe using the luma as a compare point is not that great.

    Any other ideas ?
    Quote Quote