VideoHelp Forum




+ Reply to Thread
Results 1 to 16 of 16
  1. i'm converting vhs to dv with a dac-100 and capturing the dv to avi
    files. every couple of minutes there is a bad frame-a digital mosaic
    pattern. it is always only a single frame long. is there any software
    that could check the avi file and log these bad frames so i can edit them?
    Quote Quote  
  2. Member
    Join Date
    Apr 2002
    Location
    The State of Frustration
    Search Comp PM
    Virtual Dub mod. Video-->Scan video for bad frames.
    Hello.
    Quote Quote  
  3. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    I'm using AviSynth:

    c=avisource("N:\myavi.avi")
    x= c.converttoyv12().separatefields().selecteven().ki llaudio()
    d= c.converttoyv12().separatefields().selectodd().kil laudio()
    return compare(x,d,"Y","myavi.log")

    And play this script with VDub.

    In the logfile you can locate bad frames by looking for -255.

    How did you get this working with VDub? Vdub doesn't have a working scan feature for such bad frames, just a 'scan video stream for errors' - this feature doesn't find such bad frames (as produced by DV A/D converters)!
    Quote Quote  
  4. perhaps it's a difference btwn Analog=>DV boxes. maybe noisy analog
    is sent as incomplete DV by some boxes. the DAC-100 sends
    a "good" frame in that VirtualDub does not log them when i
    "scan video stream for errs". there are no playback or conversion
    problems at the bad frame.

    i don't know avisynth but will download and try it. ideally the test
    would be to do a running check of 3 frames. if frame 1 ~= frame 3
    but frame 2 differs significantly from them, log that frame#. does
    your script do that?
    Quote Quote  
  5. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    My script compares half-frames.This is much faster than comparing neighbouring frames.This script is tested with more than 20 movies and finds all of those bad frames.
    Sometimes it finds frames which are actually not real bad, so check all found frames before cutting.I wrote an awk-script which will generate an avs script for removing (by duplicating the frame before the bad one).

    The reason for bad frames are either bad source or CPU overload of your capturing PC.I'm always using DVIo for capturing on a clean Win2K environment (no VirusScan/Firewall/Internet)
    Quote Quote  
  6. thanks dragonsf. javascript:emoticon('')
    the generated log file clearly shows the bad frames by
    looking at the pos and neg values for each frame. it seems that
    for my avi files, the value maxs are +/-219, not 255. perhaps this is
    a function of the dac-100?
    Quote Quote  
  7. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    Yes, that might be so.I'm using a Hollywood DV Bridge, but I tried a DAC 100 before.Glad, I could help.
    BTW: do you want this awk script for generation an avs out of the log-file for further procssing?
    Quote Quote  
  8. sure, i'd like to see the awk script for generation of an avs out of the
    log-file.
    since you mentioned using the dac-100 in addition to other conversion
    schemes, how does my unit rank against this other hardware?
    Quote Quote  
  9. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    I had to return it, because it's performance was bad compared even to the HWDB.I.e where the HWDB produces 1 or 2 bad frames, it produced 48-50 bad frames.And there was a constant hickup every 9 frames.
    As DataVideo failed to repair the unit (which I think was obviously broken) within 2 months, I returned it and got my money back (this happened just after the purchase - they refused to swap the device).
    As the HWDB is not really bad- after adjusting all the evironment settings during capturing - I'll stick with it.

    I'll post the script later.
    Quote Quote  
  10. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    BEGIN { print "c=avisource(\"N:\.avi\")";
    o=0;c=0;
    }

    /[-]255/{
    f=$1;
    if(c==0)
    {
    d2=$2-o2;d6=$6-o6;
    }

    if(o==0)
    o=f;
    else if(f==l+1)
    c++;

    else
    {
    print "c=c.freeze" c+1 "(" o ") #" od2 " " od6;
    o=f;
    c=0;
    od2=d2;
    od6=d6;
    }
    l=f;
    next;
    }
    {
    o2=$2;
    o6=$6;
    ol=$0;
    }
    END{
    print "c=c.freeze" c+1 "(" o ")";

    print "return c";
    print "function freeze1(clip cl,int f)";
    print "{";
    print "cl=cl.deleteframe(f).duplicateframe(f-1)";
    print "return cl";
    print "}";

    print "function freeze2(clip cl,int f)";
    print "{";
    print "cl=cl.deleteframe(f).duplicateframe(f-1)";
    print "cl=cl.deleteframe(f+1).duplicateframe(f+2)";
    print "return cl";
    print "}";
    }


    Change the 255 to your detected balue.
    Quote Quote  
  11. Member
    Join Date
    Sep 2003
    Location
    Pasadena, CA USA
    Search Comp PM
    Originally Posted by Dragonsf

    c=avisource("N:\myavi.avi")
    x= c.converttoyv12().separatefields().selecteven().ki llaudio()
    d= c.converttoyv12().separatefields().selectodd().kil laudio()
    return compare(x,d,"Y","myavi.log")

    And play this script with VDub.

    In the logfile you can locate bad frames by looking for -255.
    dragonsf, I tried out this script and got the log file. Can you give more details on what that log file is showing and why -255 means a bad frame etc?

    I ran this against a short clip I took off an old vhs tape, ep recording. I captured using avdc-100 using Scenalyzer and it showed zero bad frames during the capture. But running this script I see at least one -255 in the Max Neg. Dev. column.

    Is the frame number shown in the log, in the case of your script, actually a field number or a true frame number? I want to try looking at that frame.

    Thanks
    Quote Quote  
  12. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    The log file shows the frame # (just use ctrl-G in VDub to go to this frame).
    Why there is this specific number -255:I really don't know.I use a lot of filters (on known bad frames) and found this filter working with the result, the frame number is the first column in the line.
    As noted before, on some converters use a different number instead of 255.
    Just try the filter on a clip (as you suggested) and see what you get in max neg dev.
    Quote Quote  
  13. Member
    Join Date
    Feb 2004
    Location
    Chicago, Illinois, USA
    Search Comp PM
    Originally Posted by Dragonsf
    I'm using AviSynth:

    c=avisource("N:\myavi.avi")
    x= c.converttoyv12().separatefields().selecteven().ki llaudio()
    d= c.converttoyv12().separatefields().selectodd().kil laudio()
    return compare(x,d,"Y","myavi.log")

    And play this script with VDub.

    In the logfile you can locate bad frames by looking for -255.

    How did you get this working with VDub? Vdub doesn't have a working scan feature for such bad frames, just a 'scan video stream for errors' - this feature doesn't find such bad frames (as produced by DV A/D converters)!
    Sorry to necropost, but I'm finding next to no information searching on this.

    I'm attempting to run this script, but I keep getting the following error when I load the avs file in Virtualdub:

    Avisynth open failure:
    Compare: Clips have Unknown format. RGB24, RGB32 and YUY2 are supported.


    Any idea what's causing this problem? Is there something I need to repair or download?
    Quote Quote  
  14. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    For newer versions of AviSynth please have a look here:
    http://forum.doom9.org/archive/index.php/t-58187.html
    Quote Quote  
  15. Member
    Join Date
    Feb 2004
    Location
    Chicago, Illinois, USA
    Search Comp PM
    Yes, I saw that, but how do I alter the script so it works? Also, I downloaded the filter, but I was a little confused as to how to install it properly. I extracted it to the plugins folder, but that didn't seem to have any effect.

    I'm running version 2.56.
    Quote Quote  
  16. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    You have to load the plugin first and then use compareyv12 instead of compare.
    Quote Quote  



Similar Threads

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