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>
38 lines
2.0 KiB
Markdown
38 lines
2.0 KiB
Markdown
# 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.
|
||
- **2–3 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 **5–30 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 5–30 s. |
|
||
| drifty / foot-skating result | Feet left the frame, or baggy clothes — re-film closer to protocol. |
|