every.channel: sanitized baseline
This commit is contained in:
commit
897e556bea
258 changed files with 74298 additions and 0 deletions
57
docs/BABY_STEPS.md
Normal file
57
docs/BABY_STEPS.md
Normal 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue