Media Rescue Lab

VideoMend

Explains why a video won't play, without a single line of codec code.

Free right now — no account, no card

Get VideoMend free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design VideoMend, 1 of 1
Screenshot VideoMend running on Windows today

Free while we’re in preview

Get VideoMend

Explains why a video won't play, without a single line of codec code.

The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.

One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.

Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.

  • One file — no installer
  • Runs on your machine, offline
  • Source code published below

Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, VideoMend is included in every plan along with the rest of the range.

The dashcam that died mid-recording

A camera writes video into mdat as it goes and writes the moov index only when you press stop. Battery died, card pulled, phone rebooted, so the index was never written. The footage is very probably still in the file and no player can use it, because nothing says where the frames begin or what codec they are. videomend diagnose names that in as many words. It also names truncation, pointing at the box whose claimed size runs past the end of the file, and a moov sitting after mdat so nothing can start playing until the whole file has downloaded.

Structure only

It walks the ISO-BMFF box tree for MP4, MOV, M4V and 3GP, handling all three ways a box size can be written, including the 64-bit largesize that files over 4 GiB use and the size-of-zero a recorder leaves open while writing. AVI gets the RIFF equivalent. Files are opened read-only; the only thing videomend writes is text to your terminal.

PASS does not mean the video is good

There are no decoders in here. A file can have a flawless box tree and still play as green smears, because the bytes inside mdat rotted in place. PASS means the container is well formed. That is a smaller claim.

Reading on the job itself

Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams

A working command-line build of the container parser: MP4/MOV box trees including 64-bit largesize and size-to-end-of-file, RIFF/AVI chunks, and a diagnosis pass that names truncation, a missing moov and a non-faststart layout. Files are opened read-only. Re-muxing a broken file back into a playable one is on the roadmap.

Naming status

Working name only — brand verdict **CAUTION** (Medium-Low). Collision: VideoMend. Good candidate if formal clearance is clean; use alternate domain if necessary.

What it draws on

Existing paid software whose best ideas shaped this program: Wondershare Recoverit, Wondershare Repairit, Stellar Repair for Video, Stellar Photo Recovery.

Command line

There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.

videomend - diagnose why a video file will not play, by reading its container

USAGE
  videomend <command> [options]

COMMANDS
  inspect  <file> [--json]   Walk the container: every box/chunk with offset,
                             size and type, plus ftyp brands and mvhd timing
  diagnose <file> [--json]   PASS/WARN/FAIL structural playability checks
  tree     <file>            The nested box/chunk tree, indented
  help                       Show this help

OPTIONS
  --json          Emit machine-readable JSON (inspect, diagnose)
  -h, --help      Show this help

FORMATS
  MP4 / MOV / M4V / 3GP  ISO base media file format - the box (atom) tree,
                         including 64-bit largesize boxes and size-0
                         extends-to-EOF boxes.
  AVI                    RIFF chunk structure and the avih main header.

EXIT STATUS
  0  success (diagnose: no FAIL checks)
  1  usage error, or the file could not be read or identified
  2  diagnose found at least one FAIL check

NOTES
  videomend opens files read-only and never modifies them. It reports on
  container structure only: it does not repair, re-encode or play video, and
  it cannot judge whether the audio/video streams themselves are intact,
  because that would need codecs.
  Flags may appear before or after positional arguments.

EXAMPLES
  videomend inspect clip.mp4
  videomend inspect clip.mp4 --json
  videomend diagnose interrupted.mp4
  videomend diagnose --json capture.avi
  videomend tree clip.mov

Recorded from the shipped binary, not written by hand.

Source

Every file the program is built from:

console.go · console_test.go · guided.go · main.go

SHA-256 checksums · build instructions & scope notes · full build plan