A video that won't open anywhere, a "moov atom not found" error, a clip that plays for a few seconds and stops. Search for help and most of the results come from companies selling repair software. Some of it works - but much of what it does can be done for free, and some kinds of damage can't be repaired by anyone. The first job is working out which kind you have.
Before anything else: make a copy of the broken file and work on the copy. If the file is on a camera's memory card, stop recording to that card - new recordings can overwrite the space the damaged file still occupies.
#Is it actually corrupted?
Plenty of videos that "won't play" aren't damaged at all. Open the file in VLC (free), which has its own decoders for almost every format. If it plays there, the file is fine and your usual player is missing a decoder - Video plays sound but no picture and Fix error 0xc00d36c4 cover those cases. Also check the file size. A file of 0 KB, or much smaller than the original on the camera or phone, is an incomplete copy: copy it again from the source rather than trying to repair it.
#The three kinds of damage
Which kind of damage, and the odds of fixing it
- Recording stopped suddenly: battery died, card filled, app or camera crashed
- Won't open anywhere; "moov atom not found"
- File size looks normal
- Fix: rebuild the index from a healthy file
- Card errors, a transfer interrupted part-way
- Opens, then glitches, freezes or stops early
- The index is still there
- Fix: copy out every readable frame
- Recovered after deletion or formatting, failed card
- Wrong size, garbage, or nothing at all
- The video itself isn't all there
- No software can recreate it
#Fixing a missing index (the common case)
An MP4 keeps its index - the "moov atom", a table that tells players where every frame of video and audio sits in the file - in a block that's only written when recording stops normally (What is the moov atom? explains it). If a camera's battery dies, a phone crashes, a memory card fills up, a recording app crashes or a dashcam loses power, the video and audio are all saved, but that index never gets written. Without it, no player can make sense of the file, and ffmpeg reports "moov atom not found".
The data is still there, so the index can be rebuilt - as long as you have a healthy file from the same device, recorded with the same settings (same resolution, frame rate and video format, ideally recorded just before or after the broken one). The broken file was written in exactly the same structure, so the healthy file acts as a template.
The free, open-source tool for this is untrunc. You give it the healthy reference file and the broken one - untrunc reference.mp4 broken.mp4 - and it writes a repaired copy alongside, never touching the original. It's a command-line tool, with builds for Windows, Mac and Linux. Many paid repair programs that ask you for a "sample video" are doing the same job.
It doesn't always work. If the reference was recorded with different settings, or the camera writes an unusual structure, the result can be partial or garbled. Try another reference file from the same device before giving up.
#Salvaging a file with damaged data
If the file opens but glitches, freezes or stops early, the index is intact and some of the data is damaged. ffmpeg (free) can copy every readable frame into a new file without re-encoding anything: ffmpeg -i broken.mp4 -c copy fixed.mp4. Damaged sections drop out, and the result often plays straight through. If ffmpeg says "moov atom not found" instead, you have the first kind of damage - use untrunc.
VLC can also play past damaged sections, and its Convert / Save option can re-encode whatever it manages to play into a new file. That's slower and re-compresses the video, but it's a useful last resort.
One myth to skip: VLC's "repair" setting (Preferences → Input / Codecs → Damaged or incomplete AVI file) only works on AVI files. Renaming an MP4 to .avi doesn't make VLC repair it.
#When nothing can fix it
- The file is 0 KB or tiny. The video was never saved, so there's nothing to repair.
- It was recovered after deletion or formatting. Recovery tools often find the start of a video but not all of its pieces, which may have been scattered or overwritten. A rebuilt index can't bring back missing data.
- It's copy-protected, not corrupted. Downloads from streaming apps are locked to those apps. They won't play elsewhere, and repair software can't change that.
Paid repair software can't create data that isn't in the file. Try the free routes first, and if you do consider paying, use a trial version that shows a preview of the repaired video - that tells you whether paying would actually help.
#Preventing it next time
- Record in a crash-safe format when you can. OBS records MKV by default because a crash can't destroy it (OBS recording settings), and many dashcams offer .TS recording for the same reason (Dashcam video to MP4).
- Stop recording before the battery or the card runs out, and stop it properly before switching the device off.
- Eject cards and USB drives before removing them, and copy files with a card reader rather than straight off a camera over a long cable.
- Keep the original until you've checked the copy plays.
#Where Wave fits
Wave doesn't repair files: like any player, it needs a readable index to know where the frames are. Once a file has been repaired, though, Wave converts it into a clean MP4 with the index moved to the front, so it starts playing instantly in previews and uploads reliably - in your browser, without the file leaving your computer.
#The short version
- Work on a copy, and test in VLC first - many "corrupted" files are really missing a decoder.
- Won't open anywhere and "moov atom not found": the index is missing. Rebuild it with untrunc and a healthy file from the same device.
- Opens but glitches or stops: copy out the readable frames with
ffmpeg -i broken.mp4 -c copy fixed.mp4. - Recovered, tiny or empty files usually can't be fixed by any software.