every.channel: sanitized baseline
This commit is contained in:
commit
897e556bea
258 changed files with 74298 additions and 0 deletions
94
README.md
Normal file
94
README.md
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
# every.channel
|
||||
|
||||
A global, disaggregated mesh of relays that turns local ATSC antennas into a coherent, worldwide stream. The stack is Rust-first, MoQ-native, and designed for deterministic chunking so identical broadcasts yield identical data.
|
||||
|
||||
## Goals
|
||||
|
||||
- Free, global access to broadcast TV through user-run relays.
|
||||
- Deterministic encoding and chunking to make availability a coordination problem.
|
||||
- Clean layering: capture -> transcode -> MoQ publish -> relay -> client playback.
|
||||
- Cross-platform clients: Tauri app, CLI, and a static web UI.
|
||||
|
||||
## Repository layout
|
||||
|
||||
- `crates/ec-core`: shared types and determinism profiles.
|
||||
- `crates/ec-hdhomerun`: HDHomeRun discovery and lineup scaffolding.
|
||||
- `crates/ec-linux-iptv`: Linux DVB ingest scaffolding.
|
||||
- `crates/ec-iroh`: iroh transport scaffolding.
|
||||
- `crates/ec-crypto`: stream key derivation helpers.
|
||||
- `crates/ec-ts`: MPEG-TS timing and table parsing.
|
||||
- `crates/ec-chopper`: deterministic ffmpeg chunking scaffolding.
|
||||
- `crates/ec-moq`: MoQ data model and relay scaffolding.
|
||||
- `crates/ec-node`: node runner (ingest + publish).
|
||||
- `crates/ec-cli`: CLI for discovery and node control.
|
||||
- `apps/tauri`: desktop client shell.
|
||||
- `apps/tauri/ui`: Dioxus web frontend embedded in the Tauri app.
|
||||
- `docs/USAGE.md`: runbook for viewer and ingest pipelines.
|
||||
- `docs/IROH_EXAMPLES.md`: summary of iroh repos/examples used for design.
|
||||
- `docs/`: architecture, roadmap, and MoQ notes.
|
||||
|
||||
## Development
|
||||
|
||||
Nix:
|
||||
|
||||
```sh
|
||||
nix develop
|
||||
```
|
||||
|
||||
Rust:
|
||||
|
||||
```sh
|
||||
cargo build
|
||||
```
|
||||
|
||||
Runbook:
|
||||
|
||||
```sh
|
||||
cat docs/USAGE.md
|
||||
```
|
||||
|
||||
Coverage:
|
||||
|
||||
```sh
|
||||
./scripts/coverage.sh
|
||||
```
|
||||
|
||||
Build static web:
|
||||
|
||||
```sh
|
||||
./scripts/build-web.sh
|
||||
```
|
||||
|
||||
Deploy to Cloudflare Workers (static site):
|
||||
|
||||
```sh
|
||||
./scripts/deploy-workers.sh
|
||||
```
|
||||
|
||||
Remote website E2E (local publisher -> deployed every.channel web):
|
||||
|
||||
```sh
|
||||
./scripts/e2e-remote-website-direct.sh
|
||||
```
|
||||
|
||||
Remote website E2E (public list/signaling -> website selects stream automatically):
|
||||
|
||||
```sh
|
||||
./scripts/e2e-remote-website-directory.sh
|
||||
```
|
||||
|
||||
Tauri viewer (Dioxus + Trunk):
|
||||
|
||||
```sh
|
||||
cd apps/tauri/ui
|
||||
trunk serve --port 1420 --public-url /
|
||||
```
|
||||
|
||||
```sh
|
||||
cd ../
|
||||
cargo run
|
||||
```
|
||||
|
||||
## Status
|
||||
|
||||
This repository is intentionally minimal. It captures the initial architecture and scaffold for a MoQ-first network and will expand as proposals are accepted.
|
||||
Loading…
Add table
Add a link
Reference in a new issue