46 lines
2.8 KiB
Markdown
46 lines
2.8 KiB
Markdown
# TASK 53 — Output-format verification: Shorts / TikTok geometry (queued 2026-10-08)
|
||
|
||
> Catalog: [`TASKS.md`](../TASKS.md) — status and requirements live here.
|
||
|
||
**Why:** the output formats have never been tested end-to-end. The site claims "vertical 1080p60
|
||
(9:16)" and Shorts-style streams, but nobody has verified that the geometry actually comes out
|
||
correct for Shorts and TikTok — safe zones, caption clearance, and the text-safe inset all still
|
||
need checking against a real capture.
|
||
|
||
**Goal:** prove the vertical/short-form path is geometrically correct, or fix the gaps and then
|
||
prove it. Make the output formats a tested, locked contract instead of an assumption.
|
||
|
||
**Slices (one integration test each, in order):**
|
||
|
||
1. ✅ **What we actually emit** (2026-11-04; creator visually reviewed and accepted) — six
|
||
creator-supplied recordings confirm the emitted configurations. All are H.264 with exact
|
||
average frame rates and dimensions:
|
||
|
||
| Mode | File | Output |
|
||
|---|---|---|
|
||
| Landscape 1080p60 | `rec1-1080p60.mp4` | 1920×1080 @60 fps |
|
||
| Landscape 1080p30 | `rec2-1080p30.mp4` | 1920×1080 @30 fps |
|
||
| Landscape 720p60 | `rec3-720p60.mp4` | 1280×720 @60 fps |
|
||
| Landscape 720p30 | `rec4-720p30.mp4` | 1280×720 @30 fps |
|
||
| Vertical 1080p30 | `rec5-1080p30-vert.mp4` | 1080×1920 @30 fps |
|
||
| Vertical 1080p60 | `rec6-1080p60-vert.mp4` | 1080×1920 @60 fps |
|
||
2. ✅ **9:16 output resolution (resolution-only acceptance, 2026-11-04)** — creator-supplied
|
||
`ty-20261104-0927-982-0000-2.mp4` reports H.264 1080×1920 at 60 fps. The creator accepted the
|
||
resolution check only; captions and visual safe-zone placement were not reviewed.
|
||
3. ☐ **9:16 safe-zone geometry** — confirm the composite is laid out for a phone: viewer-safe top
|
||
strip (TikTok/Shorts overlays live top-left and bottom), caption/text clearance, and webcam
|
||
placement. Test a known layout and assert element placement against the contract.
|
||
4. ☐ **Live-shorts check on a real stream** — private Test Stream at 9:16, then pull the thumbnail/
|
||
player quirk list from YouTube (Title visible, overlays); confirm nothing the streamer put on
|
||
screen sits under YouTube's own chrome. This is the "never tested" item the creator flagged —
|
||
test on a real vertical test stream and cite the observation.
|
||
5. ☐ **Recorded .mp4 matches output** — the saved vertical .mp4 must carry the same 9:16 frame the
|
||
stream showed, not a squeezed/wider master. Test: record vertical, decode first frames, assert.
|
||
|
||
**Design decisions:**
|
||
|
||
- Geometry is a contract with tests, not a hope. Derived ratios (stream vs composite vs canvas)
|
||
get a derived-value test so one change can't silently wreck Shorts/TikTok output.
|
||
- Keep widescreen untouched — only add what vertical needs (the existing test suite stays green
|
||
for 16:9).
|