Toposync Cameras extension
First-party extension focused on camera integration for the global Pipelines runtime.
What it provides
- RTSP camera settings and indexing (
/api/cameras/index) - RTSP snapshot endpoints used by UI/tools
- Visual calibration and projection mapping endpoints for camera/composition interpolation
- Camera pipeline operators registry integration
- Camera element/editor UI in the composition
The old per-camera detections runtime (/api/cameras/detections/*, cameras.tracking, and toposync_ext_cameras.processor_server) is no longer part of this extension.
APIs
GET /api/cameras/indexPOST /api/cameras/rtsp/snapshotGET /api/cameras/cameras/{camera_id}/snapshotPOST /api/cameras/projection/map
camera.camera_mapping and the editor use calibrated_views as the canonical mapping model:
- fixed camera: one default calibrated view with
pose_reference = null - PTZ camera: one or more calibrated views bound to
pose_referenceor presets - projection model:
image_quad_on_world, with an image region and a world-space quadrilateral - stream scope:
mainandsubare compatible by default;zoomneeds an explicit calibrated view/scope - mapping runtime: derives internal control-point pairs from calibrated views so pipeline outputs keep
payload.world - mapped tracking presets place
camera.camera_mappingbeforevision.track, allowingbyte_worldto use per-detectionworld_anchoras a probabilistic association signal.
/api/cameras/projection/map is the public mapping endpoint. UI and extension
code should use calibrated views; runtime control-point pairs are internal
projection details derived from that canonical model.
Camera pipeline presets
Preset graphs should keep product identity on payload.subject.id. Raw tracker
ids are diagnostic only.
people_simple: no mapping requirement, for a first people-detection smoke test.people_individual: requires mapping, emits individualeventsubjects.people_quiet: requires mapping, groups activity withvision.group_eventsinsessionmode.presence_area: requires mapping, groups mapped presence withvision.group_eventsinproximitymode.vehicle_stopped: requires mapping, estimates velocity before notification.
Pipeline operators (registered by this extension)
camera.sourcecamera.motion_gatecamera.camera_mappingcamera.area_restrictioncamera.velocity_estimation
Public vision operators are registered by the com.toposync.vision extension:
vision.detectvision.trackvision.group_eventsvision.crop_objects
Legacy vendor-specific YOLO/Ultralytics runtimes are not part of the official first-party path in this extension. If you need one of those integrations in the future, ship it as a separate package and keep vision.detect / vision.track / vision.group_events as the public operator contract.
Dependencies
ffmpegmust be available inPATHfor snapshot capture.- OpenCV is required by frame/motion processing:
uv pip install opencv-python-headless
- Vision runtimes are optional and can be installed from
extensions/vision.
Snapshot tuning
TOPOSYNC_CAMERA_SNAPSHOT_TTL_S(default:0.8)TOPOSYNC_CAMERA_SNAPSHOT_FFMPEG_CONCURRENCY(default:2)
RTSP note
Some cameras expose /stream1 and /stream2. If /stream1 is unstable for snapshots, configure rtsp_url with the substream (/stream2) explicitly.
Metadata
Release files for toposync-ext-cameras 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| toposync_ext_cameras-0.8.0.tar.gz | 562.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| toposync_ext_cameras-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / toposync_ext_cameras-0.8.0.tar.gz
| Download URL | toposync_ext_cameras-0.8.0.tar.gz |
|---|---|
| Size | 562.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dbb5bbe5552053d863467e9d2d37fff02d65d345f976746d0084a1775962173b
|
|
BLAKE2b-256 checksum How to use checksums |
b420df71bf0a15750ec6793f7b8d1f9cb6eee141e8f45db54d7b113032f91ec1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.9
|
Release files / toposync_ext_cameras-0.8.0-py3-none-any.whl
| Download URL | toposync_ext_cameras-0.8.0-py3-none-any.whl |
|---|---|
| Size | 499.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a6f077d25d19f0806fc2e0175e4a8b7519f84586e14f8b57ddecceb907f74623
|
|
BLAKE2b-256 checksum How to use checksums |
7cdd4126e886aa6038dc9a8ac325d8c1fb1bbafe037bc3c0a753b7bfb09790c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.9
|