Plan: phase 12 — timecode track + burned-in clock for frame-accurate multicam

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-10-31 15:53:29 -05:00
parent a7ad3dc224
commit b750bdb71c

View File

@@ -287,6 +287,21 @@ Discord roles); the publish path must start with the user's own name.
- [ ] dock + README; remove streamers from configure.py; delete `streamers.json` - [ ] dock + README; remove streamers from configure.py; delete `streamers.json`
- [ ] test: OBS with an app password; Go Live with no key; a non-streamer gets denied - [ ] test: OBS with an app password; Go Live with no key; a non-streamer gets denied
### Phase 12 — timecode for multicam editing (frame accurate) (planned)
Target: clips from several streamers align to the frame (16.7 ms @60) on a multicam timeline.
Server-side stamping alone cannot do that (encoder + network delay differs per streamer by 0.1–0.3 s),
so: a real timecode track for coarse placement + a capture-side reference for the frame.
- [ ] MediaMTX `recordPath` with `%f` (microseconds) — paths section, hot-reloaded
- [ ] sweep: on publishing a stream, write a QuickTime `tmcd` timecode track (start = Eastern time of day of
the first frame, file fps) and `creation_time` (UTC) metadata, inside the existing lossless remux
- [ ] plugin `ItemTimestamp`: accept the microsecond filename; prefer `creation_time` when present
- [ ] `/clock/` page on the main host (behind Authentik): HTTPS offset measurement to the server clock
(±few ms), 60 fps time-of-day readout with ms + once-per-second flash — add as an OBS browser source
for burned-in timecode (BITC) when shared audio isn't available; optional per streamer
- [ ] README: editor workflow — multicam: sync by timecode (coarse), then audio waveform (sample-accurate,
everyone is in the same voice chat) or the burned-in clock
- rejected: LTC audio timecode per PC (needs SRT multitrack + a generator app on every machine)
### Option — more clip sources (Medal, Twitch/YouTube/Kick clips, Discord uploads) ### Option — more clip sources (Medal, Twitch/YouTube/Kick clips, Discord uploads)
Today the only clip intake is a local clipper folder synced by Syncthing. Members without that Today the only clip intake is a local clipper folder synced by Syncthing. Members without that