mocapgod/docs/CAPTURE.md
type-two 0cf673aa82 Lane B / session-5 item 3: default ingest to local queue/ on ultra
The pose engine (HSMR) runs on ultra, so nothing was consuming the m3ultra queue
ingest.py shipped to. ingest.py now delivers to a local queue/ dir by default;
--remote-queue [user@host:/path] restores the m3ultra rsync path for when a real
throughput need appears (ponytail marker + PLAN Ground-rule-1 deviation noted).
CAPTURE.md updated. Verified: inbox drop -> local queue/, ledger row, selfcheck green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 10:02:16 +10:00

38 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Filming protocol — read once, keep on the tripod
One page. Follow it and the pose engine has an easy time; break it and Lane C fights soup.
## The shot
- **Phone landscape**, on a tripod or leaned so it can't move. Never handheld, never portrait.
- **1080p, 60fps.** 4K is wasted — pose models downscale anyway. 60fps → we resample to 30.
- **Whole body in frame the entire take — feet included.** If a foot leaves the frame, the
ground contact is lost and the clip drifts. Frame with headroom top and bottom.
- **23 m from the phone.** Close enough to fill the frame, far enough that a step doesn't
clip you out.
- **Even light, plain-ish background.** No harsh single-side shadow, no busy patterns behind you.
- **Fitted clothes.** Baggy hoodies and swishy pants = joint error. Snug beats stylish here.
## The take
1. **Start in a T-pose, hold ~1 s.** Arms straight out, legs together, facing the phone.
2. Do **one move** — a walk, a DJ scratch, a pick-up. One move per take.
3. **End in a T-pose, hold ~1 s.**
4. Keep takes **530 s.** Short and clean beats long and mushy. Re-film rather than salvage.
The T-pose bookends are not optional: they're the calibration reference and the anchor Lane C
uses to auto-trim the clip. No bookends → manual trimming.
## Getting it to the pipeline
- **AirDrop** the clip from the phone to **ultra**, save into
`~/Documents/MOCAPGOD/capture/inbox/`.
- Then run **`python3 ingest.py`** (or let the Lane D `mocap` CLI do it). Ingest validates,
normalizes to 30fps, and puts it in the local pose queue (`queue/` on ultra, where the engine
runs). Rejects (portrait, no feet, garbage) land in `capture/rejected/` with a reason in
`capture/LEDGER.tsv` — check there if a clip vanishes. (`--remote-queue` ships to m3ultra instead.)
## Common rejections (and the fix)
| Symptom | Fix |
|---|---|
| `portrait` | Rotate the phone. Landscape only. |
| `too short / malformed` | Re-film; hold the T-poses, aim for 530 s. |
| drifty / foot-skating result | Feet left the frame, or baggy clothes — re-film closer to protocol. |