FixMyVideos

VLC Cannot Play Your MP4 (and the Index Fix Won't Save It)

VLC is the player people reach for when nothing else works. It ships its own decoders and reads containers other players reject, tolerating a lot of sloppiness along the way. Which is exactly why a VLC failure is informative. When VLC refuses an MP4, the odds that you're missing a codec are close to zero. Something is wrong with the file itself.

The "do you want to fix it" prompt

Sometimes VLC offers to help. You open a broken file and get a dialog along the lines of "This AVI file is broken. Seeking won't work correctly. Do you want to try to repair it?" with a "Build index then play" button.

Read the dialog again. It says AVI.

VLC's repair function was written for the AVI container. An AVI file carries an index chunk (called idx1) that lists where every audio and video chunk sits in the file. When that index is missing or damaged, VLC can scan the file for AVI's chunk markers and rebuild the table. On genuine AVI files this works well.

Why the rename-to-AVI trick fails on MP4

Half the tutorials online tell you to rename video.mp4 to video.avi so that VLC shows the repair prompt. The prompt does appear. The repair then fails, and it fails for a structural reason, not bad luck.

MP4 is not AVI with a different name. An MP4 stores everything in atoms: the frames live in an atom called mdat, and playback depends on a separate index atom called moov, which holds the sample tables (chunk offsets in stco, sample sizes in stsz, timing in stts, and several more). A broken MP4 is usually a file where moov was never written, because the recording or the transfer was interrupted.

VLC's AVI repairer scans for AVI chunk signatures. An MP4 contains none, so the scan finds nothing to index. Rebuilding a moov atom is a different job entirely (parsing raw H.264 or HEVC frames, reconstructing sample boundaries, deriving timing) and no version of VLC attempts it. The trick can't work, on any MP4, ever. If it appeared to work for someone, their file was an actual AVI wearing an .mp4 name.

What's actually wrong with your MP4

Behind "VLC can't play this MP4" we almost always find one of two states:

[ftyp]   ← container declaration, intact
[mdat]   ← your frames, present
[????]   ← moov index missing (interrupted recording)

or a file whose tail is simply gone because a copy or download stopped early. Either way, playback dies at the same point. VLC reads the container first, looking for the index. Its famous permissiveness lives at the codec layer; at the container layer, no index means no playback, same as every other player.

The frames themselves are usually intact.

Free things to try first

  1. Re-copy from the source. If the original is still on the card, the phone, or in cloud storage, get a fresh copy before touching anything else.
  2. Check what FFmpeg sees. Run ffprobe yourfile.mp4. If it returns "moov atom not found", the diagnosis is confirmed exactly.
  3. untrunc. Open-source tool built for the missing-moov case. It needs a healthy reference clip from the same device in the same recording mode. If you have one, it's a solid free option.
  4. Skip VLC's Convert/Save. The transcode trick only works on files VLC can already read. A file VLC can't play is a file VLC can't convert either.

How our recovery handles it

  • No reference clip needed. The engine reads codec parameters straight from the frames in mdat.
  • The moov atom is rebuilt from the stream: sample boundaries, chunk offsets, and timing are derived from the actual frame data.
  • H.264, HEVC, and ProRes are detected automatically, in MP4 and MOV containers.
  • Audio is reconstructed too, AAC and PCM both.
  • You see proof first. A free 5-second preview of the recovered footage, before any payment.

What you do

  1. Upload the MP4. Free.
  2. Watch the free 5-second preview about a minute later.
  3. Pay from $5 only if the preview shows your video. Files are auto-deleted from our EU servers after 48 hours.

FAQ

Why does the VLC dialog mention AVI when my file is an MP4? Because the repair feature is AVI-only and it triggers on the .avi extension. If you renamed your MP4 to force the prompt, VLC is now treating it as an AVI, which is why the repair produces nothing.

If even VLC can't play it, is the footage gone? Usually not. VLC fails because the container index is missing, not because the frames are. Index loss is the most recoverable form of video corruption, since the actual data is still sitting in the file.

ffprobe says "moov atom not found". Is that this problem? Yes, that's the precise technical name for it. See moov atom not found for a deeper look at that error.

Do I need a reference clip like untrunc does? No. untrunc copies container parameters from a healthy file; our engine derives them from the broken file's own frames. If you happen to have a good reference clip, untrunc is worth trying first since it's free.

Will the recovered file play in editors like Premiere or Resolve? The rebuilt file is a standards-conforming MP4/MOV, and the free preview lets you verify the footage before paying. If the preview looks wrong, adjust the settings and regenerate, or don't pay at all.

Is my file safe? EU servers, auto-deleted after 48 hours, never shared or used for anything else. Privacy policy.

Related

Upload your MP4 →

Kostenlose Vorschau · Unverbindlich

Sind Sie bereit, Ihr Video wiederherzustellen?

Laden Sie Ihre Datei hoch – in etwa einer Minute erhalten Sie kostenlos eine 5-Sekunden-Vorschau. Sie zahlen nur, wenn die Vorschau in Ordnung aussieht.

Video hochladen →