Log in

View Full Version : extracting from file with corrupted header?


rmdsc
28th November 2005, 02:55
Sorry if this is the wrong place, but I've got this problem with an important avi file. I need to encode subtitles on it and put it into a mkv format, but even though I can watch the file fine with both MPC and WMP, apparently the header is corrupted and virtualdub won't open it. I've tried searching, but I couldn't find the information I needed.

Anyway thing is, if I can watch it properly, the file should be pretty much still intact right? Or, I thought that I should at least be able to at least extract the video and audio streams.

With virtualdub I got "this AVI file doesn't have a movie data block (movi)", with DivXRepair it is "Bad Frame Report from DivxRepair", and GSpot says "while processing chunk /RIFF:AVI /LIST:INFO, found bad length value 40 at file offset 0x0000ffbe".

Is there anyway to fix this?

nm
28th November 2005, 03:24
Try to fix it with Mencoder:
mencoder -oac copy -ovc copy -o out.avi in.avi
or if that doesn't work, force index rebuilding when reading the input:
mencoder -forceidx -oac copy -ovc copy -o out.avi in.avi

Edit: Oh, and mencoder is probably called mencoder.exe in Windows (don't remember how the command line worked anymore).

MeteorRain
28th November 2005, 05:45
try directshowsource() method ^_^

rmdsc
28th November 2005, 09:44
Try to fix it with Mencoder:
mencoder -oac copy -ovc copy -o out.avi in.avi
or if that doesn't work, force index rebuilding when reading the input:
mencoder -forceidx -oac copy -ovc copy -o out.avi in.avi

Edit: Oh, and mencoder is probably called mencoder.exe in Windows (don't remember how the command line worked anymore).

Thanks for the tip; that first code worked nicely!
The second didn't like the file though.... XD

PS: just out of interest, what's the directshowsource() method?

unmei
28th November 2005, 10:13
that's creating a .avs (avisynth) file only containing

directshowsource("c:\broken.avi")

and loading that instead of the avi directly into VD. of course you need to have avisynth installed for that to work..

bond
28th November 2005, 22:05
moved