Skip to content

Video analysis

Video analysis evaluates a pump clip entirely in the browser: cadence, leg amplitude, knee and torso angles, foot position on the board, and rhythm consistency. Video never leaves your machine — only numbers are optionally sent to the Foilbench simulation for measured-vs-target comparison.

Open the view via Analysis in the header or directly: foilbench.onrender.com/analyse.

What you get

AreaContent
Metric tilesCadence, leg amplitude, knee range, shoulder stack, foot position, rhythm
Time seriesJoint angles and displacement over time; jump to notable moments
Measured vs targetComparison with simulation and optimum for your setup
Stance sweepWhich foot position minimizes center-of-gravity offset in the physics model
FindingsPrioritized hints with timestamps and jump-to-video

Prepare the clip

  • Angle: Side view or slightly from behind — feet, knees, and upper body should be visible.
  • Length: At least 8–10 seconds of continuous pumping; shorter clips are flagged as unreliable.
  • Frame rate: 30 fps or higher in the source; analysis subsamples to about 15 fps.
  • Board: Mark nose and tail in the image (see calibration) — without marks, foot position is only a rough estimate.

YouTube and screen capture

For third-party videos you can record the YouTube tab via screen capture (browser feature in the analysis view). Respect copyright and platform terms.

Alternatively, a local helper script (tools/fetch-clip.mjs in the repo) downloads a segment with yt-dlp and ffmpeg — for permitted personal use only.

Workflow in the app

  1. Load video — drag-and-drop or file picker; optionally trim start and end.
  2. Calibrate board — pick board from catalog, click nose and tail on the first frame. Scale converts pixels to centimeters.
  3. Run pose — MediaPipe loads WASM and model once (CDN, browser cache). Progress is shown.
  4. Read results — metrics, charts, findings; optionally pull setup from simulation and request stance sweep or optimum.

Without calibration, cadence and motion amplitude can still be estimated; foot position in cm and precise stance advice need board marks.

Accuracy limits

  • Pose estimation is approximate — occluded feet, backlight, or heavy camera motion reduce quality.
  • Follow-cam (camera moves with rider): scale may drift; the app warns when drift is detected.
  • Targets come from the physics model (same core as simulation) — not a substitute for an on-water coach.

Optional AI coaching

Under Coaching you can generate a text report:

  • Deterministic — fixed rules and i18n strings, no external services.
  • Language model — only aggregated numbers and finding IDs leave the browser (your API key or local Ollama). No video upload.

Privacy

Pose runs entirely locally in the browser. Neither video files nor frames are sent to Foilbench servers. Calls to /simulate/pump, /simulate/optimum, and /simulate/stance-sweep contain only setup parameters and measured metrics.

Read more

Comparisons between setups are more reliable than absolute numbers.