57 lines
1.9 KiB
Markdown
57 lines
1.9 KiB
Markdown
# 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.
|