Fix it now
- Drop the file
- Repair runs locally
- Download the result
The GoPro HERO12 Black records into a standard MP4 container. High-performance modes — 5.3K60, 4K120, 2.7K240 — are encoded in 10-bit HEVC (H.265, codec tag hvc1) and land as files named GX010001.MP4; only low-resolution modes fall back to H.264, which the camera names GH…. When a clip won't open, the H.265 or H.264 data is normally intact — what's missing is the moov index the player needs to read it. Drop the file above and the tool checks exactly that, in your browser, and rebuilds the container when the footage is recoverable.
Why the last HERO12 clip is the one that breaks
An MP4 writes its index — the moov atom that maps every frame to a byte offset — only when a clip is finalized. GoPro streams the audio and video (the mdat) to the card as you record and stamps the moov on top at the moment you press Stop. Anything that kills the camera before that stamp lands leaves a file full of real footage with no map to it:
The battery dies mid-shot. HERO12 batteries are small and the HEVC modes are power-hungry; a flat battery cuts the write instantly. Thermal shutdown. Sustained 5.3K60 or 4K120 in warm conditions pushes the HERO12 to overheat and cut out — a well-documented behaviour on this generation. The card is pulled or knocked loose before the recording light goes off. In each case the result is identical: a large .MP4 that a player reports as corrupt, unplayable, or simply a black frame.
On the next power-up after an ungraceful shutdown, the HERO12 itself often shows an SD-card repair / SOS prompt and tries to fix the last file on its own. When that on-camera pass succeeds, you don't need us. When it fails — or leaves a file that still won't play off the card — a container rebuild is the next step.
Chapters, HEVC, and the reference clip
GoPro splits a long recording into chapters so a single take doesn't exceed the card's per-file limit. The chapter number is the middle pair of digits: GX010349, GX020349, GX030349 are chapters 1, 2 and 3 of the same session. Alongside each you'll see a small .LRV (a low-resolution proxy the camera uses for previews) and a .THM thumbnail; those aren't your footage and can be ignored. The upside of chaptering is that an interrupted session almost always leaves several complete earlier chapters and only breaks the final one.
That neighbouring healthy chapter is exactly what the rebuild wants. When the moov is gone, it can be reconstructed by scanning the surviving mdat and rebuilding the sample tables the camera would have written — and a good clip from the same HERO12 in the same mode carries the precise HEVC configuration (the SPS/PPS/VPS parameter sets, resolution and frame timing) the broken file is missing, so the rebuild is faithful rather than a guess. You'll only be asked for a reference when the file actually needs one.
"It won't play" isn't always corruption
Worth ruling out before you assume the file is broken: the HERO12 defaults to 10-bit HEVC for almost every serious mode, and older editors, phones and Windows installs without the HEVC decoder simply refuse to play a perfectly healthy HERO12 file. If the same clip plays fine in VLC or on the GoPro Quik app but not in your usual editor, the file is intact — you have a codec gap, not damage, and no repair is needed. This tool won't add a codec to your system; it rebuilds broken containers.
Note too that the HERO12 was the model that dropped the GPS receiver entirely — unlike earlier HEROs there is no GPS track to lose, though the camera still embeds accelerometer and gyro telemetry in the GPMF data stream. When the container is rebuilt around surviving data, embedded tracks that were written come along with it; a tail the camera never wrote is simply not there to recover.
What this can and can't fix
Can fix
- The last chapter before the battery died or the camera overheated (unfinalized MP4, missing moov)
- HEVC (GX…) or H.264 (GH…) clips that copied off the card but won't play in any player
- Container damage: broken index, wrong offsets, bad sample timing
- A file the camera's own SD-repair pass gave up on, when the video data itself survived
Can't fix
- Footage physically lost to a failing or fake microSD card (recover the card first, then repair)
- Clips overwritten after the card looped or was reformatted — that data is gone
- A healthy HEVC file that only fails because your player lacks the H.265 decoder (that's a codec gap, not damage)
- Files that read as 0 bytes or mostly zeros
If a repair fails, we tell you why (missing data versus broken structure), and you are never charged for a failed repair.