From 348b531c28e9a6128a232fa67a9edc459fb8083a Mon Sep 17 00:00:00 2001 From: mikael-lovqvists-claude-agent Date: Wed, 25 Mar 2026 22:57:21 +0000 Subject: [PATCH] Add README with overview, doc links, structure, and status table Co-Authored-By: Claude Sonnet 4.6 --- README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..6733603 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# video-setup + +A graph-based multi-peer video routing system written in C11. Nodes are media processes connected by typed transport edges; the graph carries video streams between sources, relays, and sinks with **priority** as a first-class property — so a low-latency monitoring feed and a high-quality archival feed can coexist on the same source. + +Designed to run on resource-constrained hardware (Raspberry Pi capturing raw MJPEG, forwarding over TCP) alongside more capable machines that handle processing, relay, display, and archival. + +## Documentation + +- [architecture.md](architecture.md) — system design: graph model, transport protocol, relay design, codec layer, discovery, multi-site plan, device resilience, X11 integration +- [planning.md](planning.md) — module build order and current status +- [conventions.md](conventions.md) — C code and project conventions + +### CLI Tools + +- [docs/cli/media_ctrl_cli.md](docs/cli/media_ctrl_cli.md) — media device and topology tool +- [docs/cli/v4l2_ctrl_cli.md](docs/cli/v4l2_ctrl_cli.md) — V4L2 camera control tool + +## Structure + +``` +src/modules/ C modules, one directory each +include/ public headers +dev/cli/ CLI driver programs for each module +dev/web/ development web UI (Node.js/Express, depends on protocol) +docs/ documentation +``` + +## Status + +| Module | Status | +|---|---| +| `common` | done | +| `media_ctrl` | done | +| `v4l2_ctrl` | done | +| `serial` | done | +| `transport` | not started | +| `protocol` | not started | +| `frame_alloc` | not started | +| `relay` | not started | +| `ingest` | not started | +| `archive` | not started | +| `codec` | not started | +| `xorg` | not started | +| `web node` | not started |