Sensor Manager#
Sensor Manager is a microservice that discovers the cameras available to an edge node and exposes them through a REST API, so that applications such as the Visual Pipeline and Platform Evaluation Tool (ViPPET) can build GStreamer pipelines for them without implementing device discovery themselves.
Components#
REST API (FastAPI) –
/api/v1/sensorsendpoints and OpenAPI documentation at/docs.USB discovery – runs
v4l2-ctl --list-devices, keeps only devices that report theVideo Capturecapability and scores all supported(format, resolution, fps)combinations to select the best capture configuration (H.264/H.265 > MJPEG > raw, target 1920x1080 at 30 fps, at least 15 fps preferred).ONVIF discovery – a background thread runs a WS-Discovery sweep (
dlstreamer.onvif.discover_onvif_cameras) everyONVIF_DISCOVERY_INTERVAL_Sseconds. Cameras that do not answer a sweep are removed from the list.ONVIF profiles – on request, the service reads media profiles with
dlstreamer.onvif.read_camera_profilesusing the supplied credentials and selects the best profile with the same scoring as for USB cameras. Loaded profiles are cached for as long as the camera stays discovered.
Camera credentials are used only for the profile request. They are not stored, logged or returned by the service; clients that open RTSP streams must keep them on their side.
Sensor identifiers#
Type |
Identifier |
Example |
|---|---|---|
USB |
|
|
ONVIF |
|
|