VideoMend
Explains why a video won't play, without a single line of codec code.
Free right now — no account, no card
Preview
1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.
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
- How to recover photos from a memory card Take the card out and make a byte-for-byte image of it. Everything after that happens on the image file, so...
- Why won't this video play? Read the container structure before you try to repair anything. An MP4 is a tree of boxes with declared siz...
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