Frame-accurate playback
Step one frame at a time with a scrubber that shows every frame as a tick. Shot in slow motion? Set the true capture rate so a 240 fps clip doesn't report speeds eight times too low.
Biosystems One Inc.
MotionLab turns a phone clip into joint angles, velocities and publication-ready figures — with the calibration, filtering and provenance a reviewer will ask about. It runs entirely in your browser, and your footage never leaves your computer.
Where it is used
What it does
Every number MotionLab reports carries its provenance — the frame rate it was derived from, the calibration behind it, the filter applied, and whether a point was measured or estimated.
Step one frame at a time with a scrubber that shows every frame as a tick. Shot in slow motion? Set the true capture rate so a 240 fps clip doesn't report speeds eight times too low.
Draw across a known distance, or click the four corners of a floor tile. Plane calibration solves the perspective, so the camera doesn't have to be square on to the movement.
Pick a side or front view and MotionLab builds the markers, the linked segment skeleton, and the joint angles that are conventionally reported — knee, hip, ankle, trunk lean — in one step.
Click each joint on a single frame and tracking starts by itself, following every marker together. A 900-frame trial stops being 900 clicks per joint.
When a joint disappears behind the body, segment lengths and its visible neighbours place it geometrically. If it never reappears, the guesses are deleted rather than kept — and every estimate is marked as one.
Zero-lag dual-pass Butterworth, the biomechanics standard. Choose your own cutoff, or let residual analysis derive one from your data and show you the curve it used.
Mark foot strike and toe-off, then normalise the whole trial to percent of cycle — the convention for gait — so trials of different length compare directly.
Publication figures on white at print resolution, CSV with a provenance column per marker, and a report whose methods table flags an unconfirmed frame rate or a default calibration in red.
Methods and rigour
MotionLab records how each result was produced and puts it in the export. This is the methods table from a real report — you can paste it into a manuscript, hand it to a reviewer, or file it with a test record.
| Source file | gait_trial_02.mp4 |
|---|---|
| Resolution | 1920 × 1080 px |
| Frame rate | 240 fps at capture; file plays at 30 fps. All times use the capture rate. |
| Spatial calibration | Plane, four-point homography, 1.200 × 0.600 m reference |
| Coordinate convention | Origin at reference corner 1, Y positive upward |
| Smoothing | Zero-lag Butterworth, 2nd order, dual pass, 6.5 Hz cutoff |
| Cutoff selection | Residual analysis |
| Differentiation | Central finite difference |
| Analysed range | frames 120–480 (1.500 s) |
| Time origin | frame 148 — right foot contact |
| Point provenance | 9 placed by hand, 3 204 tracked, 47 estimated from segment lengths |
| Segment model | 8 segments: Ear–Shoulder, Shoulder–Hip, Hip–Knee, Knee–Ankle… |
Nothing here is a proprietary black box. Each step is a published procedure you can look up, argue with, and name in a paper.
Single-camera 2D cannot measure motion toward or away from the lens. MotionLab states that limit rather than working around it, and records the calibrated plane every measurement depends on.
The workflow
These are the same five numbered tabs you will see down the left of the app. The guide inside it tracks the same sequence and tells you exactly what is outstanding at each stage.
Open a clip and confirm its frame rate. Shot in slow motion? Set the rate it was recorded at, not the one the file plays back.
Calibrate against a known distance, or the four corners of a known rectangle if the camera is not square on.
Choose a body model, click each joint once, and tracking runs on its own from there.
Add the joint angles and distances you need. A body model creates the usual ones for you.
Graph anything against time or percent of cycle, then export the figure, the data, or the full report.
Your data
Movement video of a real person is identifiable, often clinical, and frequently covered by an ethics approval. MotionLab is built so that it never has to leave the machine it was recorded on.
Pricing
The whole analysis is free while you are learning the tool, teaching with it, or deciding whether it fits your lab. The moment the work leaves your hands — a figure in a paper, a report in a patient file, anything you are paid for — it is a Pro licence.
Learning, teaching and evaluation. No account needed to start.
For coursework, self-teaching, classroom demonstration and trying MotionLab on your own data before you buy.
Start learningResearch, clinical and commercial work. Cancel any time. Works out at $8.25 a month. Saves $45 a year
Required for anything published, billed for, or entered into a clinical record.
Try it, then upgradePrices in USD. Annual plans are billed once and can be invoiced for institutions. Students and single researchers qualify for Pro at half price — just ask. The Study tier is licensed for learning, teaching and evaluation only.
Questions
No. MotionLab is a web page. Open it in Chrome, Edge, Firefox or Safari and start working. There is no plugin, no runtime, and nothing to get approved by an IT department.
Anything your browser can decode — MP4 (H.264) and WebM are the safest. Some MOV, HEVC and ProRes files will not open; re-encoding to H.264 MP4 fixes it. For still work, JPG, PNG and WebP are all supported.
Accuracy is bounded by three things: how carefully you calibrate, how well the camera is placed, and whether the movement stays in the calibrated plane. Single-camera 2D cannot measure motion toward or away from the camera — that is a property of the method, not of this software. MotionLab is explicit about the assumptions it is making, and records them in every export.
Yes — that is what the report is for. It records the frame rate and where it came from, the calibration method and reference, the filter type and cutoff, the analysed range, and how many points were measured versus estimated. Anything unconfirmed is flagged rather than hidden.
It is about the output, not about who you are. Learning the tool, teaching a class with it, and evaluating it on your own data are all Study. As soon as a measurement is going into a paper, a grant report, a patient record, or work somebody is paying you for, it needs a Pro licence. If you are a student and the answer is genuinely still unclear, write to us — we would rather say yes than have you guess.
No. Reports, figures and CSV export are Pro features on every plan and every tier, because the report is the thing you hand to someone else. Everything upstream of it — tracking, measurement, graphs on screen — is free.
Nothing is locked away. Analysis, tracking and saving projects stay available, so your existing projects keep opening and keep working. You lose the export formats, not your data.
No. Not by default, not as an option, and not on a paid plan. Your browser reads the file from disk and decodes it in memory; there is no upload endpoint to send it to. What a cloud workspace stores is a JSON file of your analysis — calibration, marker coordinates, measurements and settings — plus your account email. That is the entire list.
By email or with Google. Email sign-in sends you a verification link — there is no password to choose, forget, or have stolen from us, because we never store one.
Biosystems One Inc., a research and development company working across biomedical and biosystems engineering. MotionLab came out of biomechanics research needs that existing tools met awkwardly or expensively.
No account, no upload, no trial clock. Learn on it for as long as you like — pay only when the work leaves your hands.