Process a folder of hip-drop videos
Coaches can do this entirely in the browser. There is no script to install or command to type.
- Calibrate one video in Hip Drop Analysis first and note the band color the panel reports (for example
#2BD9E8). The folder page cannot ask you to press the band in every video. - Open Process a folder from Hip Drop Analysis in desktop Chrome or Edge.
- Choose a folder of front or back videos of the same waist band, filmed from a fixed, level camera, and allow the browser to read and write it.
- Choose the band calibration: the band color, or a fixed point in the frame where the band sits. Confirm the capture FPS, the men’s or women’s target and auto-levelling. Override the FPS for individual videos if needed.
- Press Process videos and keep this tab open. Find the MP4 highlight, PDF report and Markdown text beside each original. Review each row: it reports how much of the middle frame matched the band color, and any warnings or failures.
Band calibration in a batch
In the app, step 2 is a press on the band in the middle frame of each video. A batch has no press, so it uses one of the calibration panel’s own two inputs for every video, taken from that video’s middle frame:
- Band color (
calibration: "color",bandColor): the panel’s manual color fallback. The color is matched with the panel’s fixed tolerances. Use the color the panel showed when you pressed the band in one of the videos; lighting changes between videos can need a different color. - Point in the frame (
calibration: "point",pointX,pointY): the press itself at a fixed place, 0–1 across and down the middle frame. The band color and tolerances are sampled there, exactly as a press does. Use it only when every video is filmed from the same camera position with the band at that place in the middle frame.
The saved Markdown records the calibration and the share of the middle frame that matched, with the panel’s warning when the color matches too much (clothing or background) or too little. A video in which the band is never found fails, and the rest of the folder continues. The trim is not used: every video is analyzed in full. The live camera is not part of folder processing.
What gets saved
For hips.mp4, the app creates results_hips.mp4, results_hips.pdf and results_hips.md. A results_hips.json receipt records the settings, actual frame rates, analyzed range and output sizes. The PDF and Markdown are the same report as the single-video app’s Results menu (band tilt in degrees, left and right peaks, stability, tracking quality and the trend over the clip). The MP4 is a metric highlight reel, with 30 FPS output.
Originals are not changed. Existing result files are skipped, including incomplete sets. Move old or partial results before retrying. Videos with the same base name, such as hips.mp4 and hips.mov, must be renamed first. Files beginning results_ or reslts_ are excluded. Subfolders are not processed.
Recording settings that matter
- Capture FPS: Auto reads the encoded file rate. Slow motion filmed at 120 FPS may be saved at 30 FPS; enter 120 in that case, so the smoothing window and the five-second intervals are real time. Auto fails if the file rate cannot be read, so you can choose a rate explicitly.
- Target: men’s ±5° or women’s ±7°, as in the app.
- Auto-level: on by default; it centers the band tilt on the session median, which removes a slightly tilted camera. Turn it off only for a camera levelled with the app’s grid.
Local processing and recovery
Video analysis and export happen in your browser. Static app code and the color engine may download from the internet. Folder permissions are granted by you in the browser, and you may need to grant them again after reopening the page.
One video runs at a time. A failure does not stop the rest. Stop batch cancels the active analysis/export; a save already in progress finishes before the queue stops. Closing the browser can leave partial results. Move these before retrying. Avoid concurrent programs writing to the same folder.
If the folder picker is unavailable, use a supported desktop browser such as Chrome or Edge, or return to the single-video app. MP4 export requires H.264 WebCodecs support; an unsupported encoder produces an error. Results are the same estimates and coaching guidance offered by the app’s individual-video workflow.
For AI agents and developers: browser interface
Everything runs in the browser at https://apopt.com/hip/automation.html. There is nothing to download or install. An AI agent or script that controls a browser (for example a browser-automation tool) can use the page’s versioned interface, window.apoptAutomation, instead of the folder picker.
- Open
https://apopt.com/hip/automation.htmland wait untilwindow.apoptAutomation.version === 1. - Put one local video on the file input
#automation-video; the browser reads it locally. - Start the job, poll until it finishes, then read the Markdown or download the outputs.
const api = window.apoptAutomation;
api.capabilities(); // app "hip", options, defaults, outputs (no camera view option)
const id = api.start({
captureFps: "auto", gender: "women",
calibration: "color", bandColor: "#2bd9e8"
});
api.getJob(id); // state: running → succeeded / failed / cancelled
// After state === "succeeded":
await api.markdown(id); // the text results
api.download(id, "mp4"); // also "pdf" and "md"
api.cancel(id); // stops a running job
| Option | Values |
|---|---|
| captureFps | "auto" or the recorded FPS, 1–2000 |
| gender | men (±5°) or women (±7°) |
| autoLevel | true (default) or false |
| calibration | color (default; uses bandColor) or point (uses pointX, pointY) |
| bandColor | #rrggbb; default #00ffff |
| pointX, pointY | 0–1 across and down the middle frame; default 0.5 |
| outputFormat | vertical or person-crop; metricCycleSeconds 2–10 |
One job runs at a time, and only the latest job’s outputs are kept, so save every output before starting another. Unknown options and out-of-range values are rejected before processing. Video stays in the browser; an agent that reads the Markdown receives that derived text.
Example agent request: “Open the Hip Drop automation page, analyze hips.mp4 with band color #2bd9e8 against the women’s target, save the three outputs and read the Markdown.”