FixMyVideos

QuickTime: "The Document Could Not Be Opened"

This is the error QuickTime returns when it tries to mount a video file as a "movie document" and fails at the structural level. Distinct from "this file is not supported" (which is more about codec / container) — this one is QuickTime saying I tried to read the index, and the index isn't there or doesn't make sense.

In our experience, this error means a recoverable file about 80% of the time.

What's typically broken

QuickTime opens MOV / MP4 by reading the MOOV atom (the index). When it returns "the document could not be opened," one of these is going on:

  1. MOOV atom is missing. Recording was interrupted; the index was never written. Canonical case.
  2. MOOV atom is present but malformed. The structure exists but contains values QuickTime can't reconcile (negative durations, impossible offsets, contradictory stream descriptions).
  3. stco overflow on a > 4 GB file. The chunk-offset table uses 32-bit values that overflowed; offsets in the second half of the file point past EOF.
  4. Container declared but unrecognised. The ftyp atom claims a brand QuickTime doesn't know.
  5. File extension is .mov but content is something else (a renamed MKV, an AVI, etc.).

How to figure out which one

ffprobe -v error -show_format -show_streams broken.mov
  • No output, just moov atom not found → cause #1.
  • Stream info but with warnings about invalid offsets → cause #2 or #3.
  • Invalid major brand or similar → cause #4.
  • file your_file.mov disagrees with the .mov extension → cause #5.

For cause #3 specifically, check the file size. If it's over 4 GB and stream info looks fine but playback degenerates partway through, it's almost certainly stco overflow.

What you can try yourself

For cause #1 — see the MOOV recovery guide.

For causes #2 and #3 — try a re-mux:

ffmpeg -err_detect ignore_err -i broken.mov -movflags +faststart -c copy out.mov

The -movflags +faststart puts a freshly-built MOOV at the start of the file. If the underlying codec data is intact, this often produces a working file. Note: ffmpeg will use co64 automatically for files over 4 GB, sidestepping the stco overflow.

For cause #4 — try fixing the brand:

ffmpeg -i broken.mov -c copy -f mov out_repaired.mov

Forcing -f mov makes ffmpeg write a fresh ftyp regardless of what the original claimed.

For cause #5 — rename and try the actual format:

mv broken.mov broken.mkv  # or .avi, .mp4, etc.

How our recovery handles it

The diagnostic on upload determines which cause applies:

  • Cause #1 → frame-level codec detection in mdat, full MOOV synthesis from observed frames. No reference clip required.
  • Cause #2 → discard the malformed MOOV, rebuild from frames.
  • Cause #3 → rewrite using co64 (64-bit offsets). The codec data and original stream layout are preserved; only the index is rebuilt.
  • Cause #4 → write a clean ftyp with a brand the player recognises.
  • Cause #5 → re-identify the actual container, rewrite to a sane wrapper.

What you do

  1. Upload the file. Up to 50 GB.
  2. ~1 minute later you get a diagnostic + free preview.
  3. Pay only if the preview works.

FAQ

The error appears intermittently — sometimes the file opens, sometimes it doesn't. Often a MOOV-at-end-of-file issue where QuickTime's parser is sensitive to read latency. Re-muxing with +faststart (above) puts the MOOV at the start and usually solves it.

My file plays in VLC but QuickTime says "the document could not be opened." QuickTime is stricter than VLC. Re-muxing with FFmpeg almost always produces a QuickTime-acceptable file in this case. If FFmpeg also struggles, recovery is the next step.

The file plays the first few seconds and then QuickTime errors out. Mid-file structural issue. Often stco overflow on a large file (cause #3). Sometimes mid-file index damage. Recoverable in most cases.

Recovery returned a file but Final Cut still complains. Final Cut Pro has stricter ingest requirements than QuickTime Player. If our output mounts in QuickTime but not in FCP, escalate the case — we may need to adjust output parameters (timecode, sample description) for FCP-specific compatibility.

Is my footage safe? Server in France, auto-deleted after 48 hours, never used to train anything or shared. Privacy policy.

Related

Upload your file →

मुफ़्त प्रीव्यू · कोई प्रतिबद्धता नहीं

क्या आप अपना वीडियो रिकवर करने के लिए तैयार हैं?

अपनी फ़ाइल अपलोड करें — लगभग एक मिनट में 5-सेकंड का मुफ़्त प्रीव्यू पाएँ। अगर प्रीव्यू सही लगता है, तो ही भुगतान करें।

अपना वीडियो अपलोड करें →