1.3 KiB
1.3 KiB
ECP-0072: CMAF Seedbox Invariant For Relay Archive
Context
Archive replay currently stores and serves relay groups exactly as received, but many existing broadcasts were published in legacy container mode. Those bytes are not browser-HLS compatible, so archive playback fails despite a valid timeline and object store.
Decision
Make wt-publish default to CMAF passthrough (--passthrough=true) so:
- relay subscribers and archive workers observe the same CMAF fragment bytes (
moof+mdat); - archive replay can serve those exact bytes without re-encoding;
- the archive acts as a history seedbox of previously played chunks.
Update the NixOS module default services.every-channel.ec-node.passthrough = true to keep host deployments aligned with the seedbox invariant.
Rationale
- Zero-transform archive path is simpler and more auditable.
- Exact-byte retention avoids drift between live and replay.
- Browsers can play CMAF fragments via standard HLS tooling; no custom legacy converter is required for new streams.
Reversibility
- Operators can explicitly set
passthrough = falseper host to revert to legacy framing. - Existing archived legacy data remains readable for timeline/index use, but may require separate migration tooling for browser playback.