Help! Corrupted AVI file!

posted in General

Heres my situation. I was recording something (fairly important) using a screen capture program. The problem is, the computer crashed and had to restart before I had a chance to save the file. I found an 856.2 MB AVI file in the “temp” directory of the screen capture program created at the same time that I was using it, so I know that that’s the video. The problem is, I can’t get it to play at all in any program. I’m assuming it’s corrupted somehow due to not being saved properly, however I really need to repair the file and get it to play. Any ideas of how to do this would be greatly appreciated! Thank you! reply

I wrote some notes on that a few years back.
I’ve since refined the process somewhat.

Like I mentioned in the other post, the header is the last thing written in the AVI (since certain things, such as duration and filesize, aren’t known until the capture completes). Naturally, if the program crashes, headers don’t get written at all; you may have AVI data, but the file will be unreadable without a header (to identify it as an AVI file).

First thing is, you want to make a copy of the original to work on. Mark the original as do-not-touch. That way if you mess up on the copy, you can delete and make additional copies of the do-not-touch to work on.

The trick is to create a dummy AVI file with the exact same characteristics as the target (except duration). The most important characteristics being resolution (width x height), and video codec. Audio codec, bitrate, and frame rate, should also match closely if possible, but in my testing, I’ve found it’s not always necessary to have a perfect match. How long should your dummy capture be? It should at least have 1 or 2 frames, so just to be safe record 1 or 2 seconds of video (that should give you 15-60 frames, which is probably excessive, but OK).

Next, you append the unplayable file to the dummy file you created. As mentioned in my other post, it’s like attaching one person’s head to another body. For that I use mastersplitter. This is where I refined the steps. Be sure file extensions are not hidden. (see here if you’re in doubt)
name your dummy AVI file “stuff.avi.001” without quotes. name your unplayable AVI file “stuff.avi.002” without quotes. Place them in the same folder. Open MasterSplitter. go to the join tab. drag-and-drop the .001 file onto the window. click join.

Then open the resulting AVI file in VirtualDub. If you want to toss out the front of the file, click video, direct stream copy (so it doesn’t save as uncompressed AVI); then move the time to where you want it to start, click edit, set selection start; move the timer to where you want it to end, click edit, set selection end; finally click file, save as AVI. reply


Post Your Answer

Your reply
Your name

or log in

By submitting this form you agree to our posting rules,
privacy policy and our disclaimer.