Why video reads contact long — and how to fix it with one frame
Video reads contact a little long and flight a little short — not the camera, just one frame, and a simple rule to take it back.
When you digitise contact and flight times from high-speed video, the numbers tend to run a little long on contact and a little short on flight. It’s not random error and it’s not the camera — it’s a frame, and once you know where it hides you can take it back.

Why video overestimates contact
A force plate doesn’t count contact until force crosses a threshold — say 20 N. On video, the eye calls touchdown the moment the foot looks down, which is a frame or two before the plate registers any meaningful force. The same thing happens at the back end: the foot still looks grounded for a frame after force has already dropped below threshold at toe-off.

So video grabs a frame early at touchdown and a frame late at toe-off, and contact reads long. And because contact and flight are cut from the same footage, that same early click shortens the flight before it by exactly the same amount.
For sprinting it works out to roughly +5 to +10 ms on contact and −5 to −7 ms on flight versus a force plate. Systematic, not random — which is the good news, because anything systematic can be corrected.
The fix: wait one frame
The two ends feel like mirror images, but they aren’t — and that’s the part worth getting right. The look and the force don’t line up the same way at touchdown as they do at toe-off.
At touchdown, the look comes early. The foot looks down before it’s actually loaded, so waiting a frame is correct: you let the force catch up to your eye and land where the plate calls contact. At 240 fps that’s about 4.2 ms trimmed off your contact.
At toe-off, it flips — the look comes late. The foot stops driving before you see clear daylight under the toe. So waiting for it to look “off” is a frame too late, which keeps contact long and steals a frame from the flight that follows. Here you don’t wait: mark the frame where the foot stops driving and starts to lift, one frame before clear separation.
The one-line version: at touchdown the look comes early, so waiting corrects it; at toe-off the look comes late, so waiting only makes it later.
Trust the load going in, the release coming out.
The catch: consistency beats correctness
Once you’re nudging frames by eye, you’ve introduced a judgment call — so the single most important thing isn’t being exactly right, it’s being exactly the same every time. Three rules cover it:
- Lock the frame rate.
- Use one fixed, written definition of the touchdown and toe-off frame.
- Keep the same operator.
A consistent +5 ms bias is completely fine for tracking change over time. A rule that’s “right on average” but applied loosely is worse, because it adds noise you can’t model out. So, practically:
- Tracking an athlete over time — don’t bother correcting. Pick a simple rule, like the first clearly-loaded frame, keep it identical every session, and the bias cancels out of the change you actually care about.
- Matching force-plate numbers — either apply a flat correction (around −5 to −7 ms on contact at 240 fps) or use the “one frame later in, one frame earlier out” rule. Pick one and stick with it.
Two things worth flagging
- 240 fps is plenty for sprinting. Going higher — 480, 1000 — tightens the per-frame resolution, but past about 240 the limiting factor becomes your own hesitation picking the frame, not the camera, so the accuracy gain flattens out.
- The force plate isn’t a fixed target either. Its threshold moves the number: a 5 N threshold and a 50 N threshold give different “true” contact times off the same step, with the higher threshold reading shorter. So “matching the force plate” only means something once you know which threshold it’s set to.
The short version
At touchdown the look comes early — the foot looks down before it’s loaded — so wait a frame for the loaded frame. At toe-off the look comes late — the foot looks grounded after it’s stopped driving — so don’t wait for daylight; mark the release. Trust the load going in, the release coming out. Then lock your frame rate, write down your rule, and apply it the same way every time. Consistency is what makes the data trustworthy; the one-frame correction just lines it up with the plate.