GoPro lap video that syncs itself — keep the telemetry track alive
A GoPro is the rare action cam that syncs itself. Since the HERO5 it has written a motion track inside every clip, and that is what lets a tool like LapLift line your footage up with your logger data automatically — no dragging the video a frame at a time. The one thing that breaks it is not the camera. It is what you do to the file afterward.
Here is how the telemetry track works, the single most common way people destroy it without realizing, and how to check a clip before you count on it.
What is actually in the file
GoPro calls it GPMF, and it has been in every Hero since the HERO5 in 2016. It is not one thing: the accelerometer and gyroscope streams are recorded separately from GPS, at high rates (hundreds of samples a second). Sync uses the accelerometer and gyro, not GPS — which has two useful consequences.
First: stabilization does not cost you the gyro on a modern GoPro. On the Hero 8 and up, the gyro is still written to the file even with HyperSmooth on, so you can leave it enabled. On a Hero 5, 6 or 7 it is safer to turn EIS off — the data can be unreliable for syncing with stabilization on. Gyroflow's GoPro camera notes track which Hero models behave which way, if you want to check yours.
Second: GPS is optional. It is a toggle in the camera's settings, and the HERO12 Black dropped the GPS hardware entirely — yet a HERO12 clip still syncs in LapLift, because the sync reads the motion track, not GPS. If your footage will not sync, GPS being off is not the reason.
The one thing that breaks it: re-encoding
Here is the trap. The GPMF track rides along inside the original file. The moment anything re-encodes the video — decodes the frames and writes new ones — that metadata is dropped on the floor. The picture looks identical; the telemetry is gone. And a lot of everyday steps re-encode without telling you:
- GoPro's own Quik app — exporting or sharing a clip out of Quik strips the metadata.
- Video editors — iMovie, QuickTime Player, Premiere and the rest re-encode on export. (Premiere in particular cannot pass a GPMF track through to its output at all.)
- Generic “trim” tools that write a new file instead of copying the original.
- Phone transfers that transcode on the way — AirDrop can do this unless you have turned on iOS's “Keep Originals,” so a clip that reaches your phone smaller than it left the camera has likely been re-encoded.
The fix is to keep the original. Anything that copies the file byte-for-byte preserves the telemetry; anything that re-renders it does not.
| Preserves the telemetry | Strips it |
|---|---|
| Copying the file straight off the SD card | Exporting or sharing from GoPro Quik |
| USB transfer of the original file | Any editor export (iMovie, QuickTime, Premiere…) |
| The unmodified GH01…/GX01… .mp4 | A trim or transcode that writes a new file |
LapLift is explicit about this when it happens: feed it a re-encoded GoPro clip and it tells you the GPMF track is gone and to use the original GH010xxx.MP4 or GX010xxx.MP4 from the camera's SD card. That message is the fix — go back to the file the camera wrote.
Long recordings come in chapters
A GoPro splits a long recording into chapters — GH01…, GH02…, and so on (the letter is the codec, H for AVC and X for HEVC; the digits are the chapter number). They are one continuous session, just cut into files. Upload all of them together and LapLift stitches their motion into a single timeline before it syncs. Leave one out and the timeline has a hole in it, so include every chapter of the run.
Check a clip before you trust it
A two-minute sanity check, no editing required:
Telemetry Lite is a free, browser-based checker for GoPro files — nothing to install; it reads the clip and shows you the telemetry it finds.
Or ExifTool, the same one-liner as always:
exiftool -ee -G3 -api LargeFileSupport=1 YOURFILE.MP4A healthy GoPro file lists ACCL, GYRO and GPS5 streams. If they are missing, the file has been re-encoded — go back to the original.
Or just drop it into LapLift, which reads it locally and tells you whether the motion track is there — no upload needed to run the check.
How the sync itself works
One click. LapLift extracts the camera's motion — in a modern browser, directly from the file on your device, so the footage never leaves your machine — resamples it and your logger's motion to a common rate, and cross-correlates them to find the offset. It rates the match 0–100: 60 and up applies automatically, 80 and up locks, and a weak match is flagged so you can check it first. If it cannot find a confident match, you place the offset by hand with the ±0.1s nudges or a typed value, and lock it.
Questions
Do I need GPS turned on to sync?
No. Sync uses the accelerometer and gyro, which a GoPro records independently of GPS. The GPS toggle only matters if you want a GPS-based overlay (speed or a map straight from the camera) — it has no bearing on whether the footage will line up with your logger.
The HERO12 has no GPS — is that a dealbreaker?
Not at all. The HERO12 Black dropped GPS hardware but still records accelerometer and gyro, and that motion track is what sync reads. A HERO12 clip auto-syncs in LapLift just like any other Hero.
I trimmed my video and now it will not sync — why?
The trim re-encoded the file and stripped the GPMF telemetry track along with it. The footage looks the same, but the motion data is gone. Go back to the original GH010xxx.MP4 / GX010xxx.MP4 off the SD card and sync from that; do your trimming after.
My recording is split into several files — is that a problem?
No. GoPro chapters a long recording into GH01…, GH02… files. Upload all the chapters of one run together and LapLift stitches their motion into a single timeline before syncing. Just be sure to include every chapter.
Does stabilization hurt the telemetry?
On the Hero 8 and up, no — the gyro is still written even with HyperSmooth on, so leave it enabled. On a Hero 5, 6 or 7, turn EIS off to be safe; the motion data can be unreliable for syncing with stabilization on.
Keep reading
Free, in your browser. Nothing to install.
Create your free account