every.channel: sanitized baseline

This commit is contained in:
every.channel 2026-02-15 16:17:27 -05:00
commit 897e556bea
No known key found for this signature in database
258 changed files with 74298 additions and 0 deletions

57
docs/BABY_STEPS.md Normal file
View file

@ -0,0 +1,57 @@
# Baby steps
These are the smallest useful steps to get a real MoQ pipeline running end-to-end.
1. Capture and inspect transport streams
- Confirm HDHomeRun discovery on the local network.
- Fetch lineup JSON and map it to `ec-core::Channel`.
- Open a raw MPEG-TS stream for a single channel and write it to disk.
2. Deterministic transcode + chunking
- Choose a reference ffmpeg profile (encoder, GOP, keyframe cadence).
- Emit fixed-duration chunks with deterministic timestamps.
- Hash chunks and verify that repeated runs are byte-identical.
3. MoQ object model
- Model track/group/object IDs and object metadata in `ec-moq`.
- Map each chunk to a MoQ object with deterministic naming.
- Validate that object IDs are stable across runs.
4. Single-node publish + replay
- Build a local relay that stores objects on disk.
- Publish from the chopper to the relay.
- Replay stored objects to a local subscriber and validate playback.
5. Multi-node relay mesh
- Integrate iroh for node discovery and routing.
- Replicate objects between two relays.
- Verify that a subscriber can pull from either relay.
6. Client surfaces
- Tauri shell that lists available tracks and plays one.
- CLI that can subscribe and dump objects for inspection.
- Static web UI that connects to a relay gateway.
7. Time-synchronized chunking
- Parse PCR + STT/TDT/TOT to anchor chunk boundaries to broadcast UTC.
- Emit deterministic TS chunks with sync metadata.
- Promote source-scoped streams to broadcast-scoped streams when synced.
8. MoQ publish path
- Wrap time-aligned chunks as MoQ objects (timing metadata attached).
- Write objects to the local relay store.
- Wire to iroh transport once MoQ session adapters are stable.
7. Production hardening
- Crash recovery and backfill.
- Observability: tracing, metrics, object retention.
- Network policies for DMCA resilience and takedown mitigation.