26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# 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 = false` per 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.
|