2.4 KiB
2.4 KiB
TASK 53 — Output-format verification: Shorts / TikTok geometry (queued 2026-10-08)
Catalog:
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):
- ☐ What we actually emit — enumerate the real encoding configurations (widescreen 1080p60/
1080p30/720p60/720p30 + vertical 9:16 1080p60/1080p30) and pin them in one place (
FfmpegArgs-adjacent), each with its own geometry contract test. This turns "formats exist" into "formats are defined". - ✅ 9:16 output resolution (resolution-only acceptance, 2026-11-04) — creator-supplied
ty-20261104-0927-982-0000-2.mp4reports H.264 1080×1920 at 60 fps. The creator accepted the resolution check only; captions and visual safe-zone placement were not reviewed. - ☐ 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.
- ☐ 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.
- ☐ 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).