e8f52e8fe649ba13733193ccd61b616975068111
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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 — system design: graph model, transport protocol, relay design, codec layer, discovery, multi-site plan, device resilience, X11 integration
- docs/protocol.md — wire protocol reference: frame format, all message types, payload schemas, stream lifecycle, discovery
- planning.md — module build order and current status
- conventions.md — C code and project conventions
CLI Tools
- docs/cli/media_ctrl_cli.md — media device and topology tool
- 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 |
Description
Languages
C
83.7%
JavaScript
8.3%
Makefile
3.7%
Python
2.1%
CSS
1.7%
Other
0.5%