The genericDocumentation Index
Fetch the complete documentation index at: https://docs.cyberwave.com/llms.txt
Use this file to discover all available pages before exploring further.
cyberwave-edge-camera-driver subscribes to detection results published by any ML worker on the same Zenoh router and renders bounding boxes + labels on the WebRTC stream before it reaches the frontend. No client-side changes are required.
How it works
- Frames captured from the camera are published clean on
cw/<twin_uuid>/data/frames/<sensor>— ML workers always receive unannotated images. - The driver also subscribes to
cw/<twin_uuid>/data/detections/**. Any worker that publishes detections on that channel (e.g.detections/ultralytics,detections/onnxruntime) drives the overlay. - Bounding boxes are drawn in-place on the capture ndarray before it is handed to the WebRTC encoder, so the browser sees annotated frames without any extra infrastructure.
- Workers publish every inference — including empty
{"detections": []}heartbeats — so the driver’s freshness timer is kept alive between non-empty frames. Batches older than 2 seconds are discarded to avoid stale overlays.
Detection payload schema
Configuration
| Variable | Default | Description |
|---|---|---|
CYBERWAVE_DETECTION_OVERLAYS | true | Set to false to disable overlays on RGB cameras. |