mcpField
V
video-analysis-workflow

video-analysis-workflow

github.com/kinemotionincData & databases147 installsUpdated 34w ago
Repository

About video-analysis-workflow

video-analysis-workflow is a guide to analyzing CMJ and Drop Jump videos with kinemotion, for users assessing jump performance. It covers batch processing, quality presets, debug output, recording requirements, and reported metrics.

Key features

  1. 01Analyze CMJ and Drop Jump videos
  2. 02Batch-process video files
  3. 03Choose fast, balanced, or accurate quality
  4. 04Generate debug video with skeleton and phase markers
  5. 05Use the Python API

Use cases

  1. 01Process batches of jump-test videos
  2. 02Inspect pose detection or metric issues
  3. 03Prepare athlete videos to meet recording requirements
  4. 04Retrieve jump metrics from a Python script

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/kinemotioninc/kinemotion --skill video-analysis-workflow

After installing, type/video-analysis-workflowin Claude Code to confirm it loaded.

Details

From the project README

Video Analysis Workflow

Analysis Commands

# CMJ analysis
uv run kinemotion cmj-analyze <video> [--output debug.mp4]

# Drop Jump analysis
uv run kinemotion dropjump-analyze <video> [--output debug.mp4]

# Batch processing
uv run kinemotion cmj-analyze videos/*.mp4 --batch --workers 4

Quality Presets

PresetUse CaseTrade-off
fastQuick preview, large batchesLower accuracy
balancedDefault, most use casesGood accuracy/speed
accurateValidation, researchBest accuracy, slower
uv run kinemotion cmj-analyze video.mp4 --quality accurate

Debug Output

Always use --output debug.mp4 when:

  • Metrics seem incorrect
  • Troubleshooting pose detection
  • Validating new videos
  • Training coaches on video quality

The debug video shows:

  • Skeleton overlay with joint angles
  • Phase markers (takeoff, landing, peak)
  • Real-time metrics display

Camera Angle Recommendations

AngleRecommendationReason
45° obliqueRecommendedBoth legs clearly visible, accurate tracking
90° lateralNot recommendedMediaPipe confuses left/right feet (occlusion)
Front/backNot recommendedDepth ambiguity for sagittal plane motion

Troubleshooting

No Takeoff Detected
  1. Verify video contains complete jump (before, during, after)
  2. Check athlete is fully visible throughout
  3. Try --quality accurate for stricter detection
  4. Review debug video for landmark quality
Invalid Metrics
  1. Video may be too short (need full jump cycle)
  2. Athlete may be partially occluded
  3. Poor lighting affecting pose detection
  4. Camera shake causing landmark jitter
Jittery Landmarks
  1. Check lighting conditions (avoid backlighting)
  2. Ensure stable camera (tripod recommended)
  3. Verify athlete clothing contrast with background
  4. Try --quality accurate for better filtering
Rotation Issues (Mobile Videos)
  • Mobile videos often have rotation metadata
  • kinemotion handles this automatically via video_io.py
  • If issues persist, pre-process with: ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

Video Requirements

RequirementSpecification
Frame rate30+ fps (60+ preferred)
Resolution720p minimum
DurationFull jump cycle visible
LightingEven, front-lit preferred
BackgroundContrasting with athlete
CameraStable, tripod recommended

Output Metrics

CMJ Metrics
  • jump_height_cm: Calculated from flight time
  • flight_time_ms: Time in air
  • countermovement_depth_cm: Lowest point before takeoff
  • takeoff_velocity_m_s: Velocity at ground leave
  • triple_extension: Hip, knee, ankle angles at takeoff
Drop Jump Metrics
  • ground_contact_time_ms: Time on ground after drop
  • flight_time_ms: Time in air after contact
  • reactive_strength_index: RSI = flight_time / contact_time
  • drop_height_cm: Initial drop height (if detectable)

Python API Alternative

from kinemotion import process_cmj_video, process_dropjump_video

# CMJ
metrics = process_cmj_video("video.mp4", quality="balanced")

# Drop Jump
metrics = process_dropjump_video("video.mp4", quality="balanced")

Comments

Markdown supported