Recovering a movie file with a corrupted header?
June 30, 2010 4:57 PM   Subscribe

Using Quicktime X to make a recording, but the .mov file it created won't open in anything. I suspect a corrupted header. Is there anything I can do?

Tried: Quicktime, Movist, MPlayer OS X Extended and VLC but none of them worked.

The file's over a 100MBs, and to check it wasn't just all 0s I opened it up in a hex editor. The first few 1012? bits are mostly 0s, but then the rest is data of some kind. I know very little about this, but I seem to remember .mov/.mp4 files have header information that is required to decode the rest of the movie, and this is usually written at the very end. Quicktime crashed at the end of the recording, which is probably why it's corrupted.

Is there any way I can recover this?

It won't ruin my life if I can't. I try not to get too attached to computer data, but I'd also be really quite happy if someone could help me out.

Failing this, if anyone knows somewhere else I can ask, I'd also appreciate that.
posted by mattkh to Computers & Internet (4 answers total)
 
ReduxEncoder?

iMovie?

Is it a private movie? If you can put it someplace people can grab I'd take a look. Obviously, don't post the URL unless you want the world to see it.
posted by cjorgensen at 6:02 PM on June 30, 2010


Response by poster: Tried ReduxEncoder but it didn't work -- gave a divide by zero error!

Found a promising python script that other people report success with, called repair_cycorder_mov (designed for repairing videos made using, presumably, cycorder) but that just outputted a 1.1mb file that *did* open in VLC but with no video and only a short amount of audio static.

Haven't got iMovie on here at the moment, but I don't expect success, since it'll probably just use the same QuickTime APIs.

It is a relatively private movie. Nothing scandalous, but something I wouldn't want to share with the Internet/people I don't know. But thanks for offering.
posted by mattkh at 6:29 PM on June 30, 2010


You could always dump a new header from another, functioning file with the same specs into a copy of the corrupted file. I've had some success doing similar stuff. Make sure you work on a copy, though, obviously.

You can use something like:

dd if=functioning_file.mov of=copy_of_corrupt_file.mov bs=1 conv=notrunc count=1024

to copy the first 1024 bytes. Start small, go up gradually, see if something works.
posted by Joakim Ziegler at 7:45 PM on June 30, 2010


Response by poster: Tried that, but it didn't work. Thanks for the suggestion. I might experiment with the number of bytes, but I don't hold up much hope. Tried some other file converters MPEG Streamclip and File Juicer but also without success.

I'm looking at Dumpster now, a little legacy app that Apple has for examining the contents of a .mov file, but I don't think I know anywhere enough about it to do anything with it, so I think I'll probably just call it a day.

Hopefully this thread will be useful to anyone else who has a similar problem, and hopefully one of these solutions will work for them!
posted by mattkh at 4:23 AM on July 1, 2010


« Older What is staining my teeth?   |   Where can I buy a buzz sticker? Newer »
This thread is closed to new comments.