fe350e531e1c7c5080cb8c01c13e81659099f420
Sends 6-byte framed announcements to 224.0.0.251:5353 on startup and every interval_ms (default 5s). Receive thread maintains a peer table (max 64 entries); fires on_peer_found for new peers, on_peer_lost when a peer misses timeout_intervals (default 3) consecutive intervals. Own announcements are filtered by name+site_id. SO_REUSEADDR+REUSEPORT allows multiple processes on the same host for testing. discovery_cli: announce <name> <tcp_port> [flags] — prints found/lost events. Also notes future config module in planning.md. 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%