How can I repair a broken AVI file?

I have an .avi file that is about 110mb. When I try to play it with VLC Media Player it says something like "This file is broken. Attempt to repair?" and after it does its thing it is still unable to play it.

Is there any other software out there that can possibly get whatever video it can out of it? Maybe one that specializes on that sort of thing? I'm not very hopeful because I figured if anything could be played out of it VLC would have managed to do it, but I figured I'd give it a shot anyways...


Solution 1:

I've had some luck in the past with a lot of broken/incomplete AVIs using DivFix, but not sure if it works well on anything later than Windows XP.

A newer version is DivFix++:

DivXFix++ is designed to repair broken AVI file streams by rebuilding index part of file. This is very useful when trying to preview movies which has no index part, like some files are currently downloading from ed2k or bittorent networks. DivFix++ is complete rewrite of "DivFix" program due it's bugs and low performance.

Solution 2:

Here are some programs that might help:

  • VLC should offer you to fix a broken AVI file's index when you open the file.
  • DivFix++
  • AviFiXP (only runs on Windows)

There's an extensive tutorial on repairing broken AVI files here: Repair broken or corrupt AVI files - AfterDawn: Guides

You can also try rebuilding the container by doing a bitstream copy with FFmpeg:

ffmpeg -i input.avi -c copy output.avi

Solution 3:

VirtualDub can do pretty amazing things with broken AVI files. Just open the file in VirtualDub, let it cook, and then if it's opened it successfully, re-save it as a new AVI file. Usually, you don't even need to change the compression settings.