MotionEdge
My SwingsAboutHelp
Recording & Capture

Importing Slow-Motion Videos — Known FPS Mismatch Scenarios

When importing a video into MotionEdge, the app reads the frame rate (FPS) from the video file's container metadata. This FPS drives swing detection, impact finding, velocity calculations, and overlay timing. If the container FPS doesn't match the actual capture rate, analysis will be inaccurate.


Scenario 1: TrackMan Imports (Handled Automatically)

What happens: TrackMan cameras capture at 240fps but export videos in 30fps containers. The video plays at 1/8 speed (slow motion), and the container reports 30fps instead of 240fps.

How MotionEdge handles it: TrackMan metadata (both .tms file XML and web report API) includes a VideoSpeedFactor field. MotionEdge reads this on import and stores the true capture FPS (30 x 8 = 240fps) on the video record. All detection and analysis uses the corrected FPS.

User action required: None. This is automatic as of build 2026-03-07.

Note: Videos imported before this fix will have incorrect FPS. Re-import from the .tms file or web report link to get corrected values.


Scenario 2: Third-Party Edited Slow-Motion Videos (Not Handled)

What happens: A user takes a 240fps video and edits it in Final Cut Pro, iMovie, CapCut, or another video editor. They apply a slow-motion effect and export at 30fps. The exported file is a normal 30fps video — there is no metadata indicating it was originally 240fps.

Impact: MotionEdge reads 30fps from the container. All time-based calculations (velocity, acceleration, time windows) are off by the slow-motion factor. Impact detection may select the wrong frame. Skeleton overlay timing may appear laggy or jumpy.

Why we can't auto-detect this: Once a video editor bakes the slow-motion into a new file, there is no standard metadata field that preserves the original capture rate. The file is indistinguishable from a native 30fps recording of a very slow swing.

Current workaround: None. Users should import the original high-FPS video, not an edited slow-motion version.

Potential future solution: Add a manual FPS override in the video settings UI, allowing the user to specify "this video was actually captured at 240fps." This would be an advanced setting for power users who understand their source material.


Scenario 3: Native Slo-Mo from iPhone/iPad (No Issue)

What happens: iPhone records at 240fps in slo-mo mode. The .mov container correctly reports 240fps.

Impact: None. MotionEdge reads the correct FPS from the container. Everything works as expected.


How to Tell if FPS Is Wrong

Symptoms of incorrect FPS on an imported video:

  1. Video plays in obvious slow motion but the app treats it as normal speed
  2. Impact frame is detected several frames late (hands already rising in follow-through)
  3. Skeleton overlay feels sluggish during scrubbing
  4. Filmstrip positions look wrong — address or impact thumbnails don't match expected swing positions

Technical Background

MotionEdge uses FPS for:

  • Velocity calculation: distance between joints / time between frames. Wrong FPS = wrong velocity by the speed factor
  • Time-based search windows: "look within 0.15 seconds of candidate" = different frame counts at 30fps vs 240fps
  • Acceleration scoring: impact detection uses wrist acceleration peaks, which scale with FPS squared
  • Duration limits: maximum recording lengths are defined in frames, calculated from FPS x seconds

A video that is 8x slowed (240fps -> 30fps container) will have velocities 8x too low, search windows 8x too narrow in frame count, and acceleration 64x too low.

Related articles