Skip to content

Camera Management & Organization ​

RUSEON Core provides flexible tools for managing camera fleets—from small 4-camera homelabs to 500+ camera enterprise topologies.


1. Adding & Updating Cameras via REST API ​

Create a camera record dynamically:

bash
# Add a new IP camera
curl -X POST http://localhost:8080/api/v1/cameras \
  -H "Authorization: Bearer <JWT_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "cam_gate_north",
    "name": "North Gate Entrance",
    "url": "rtsp://admin:secret@192.168.1.120:554/live",
    "transport": "tcp",
    "folder_id": "fld_perimeter",
    "tags": ["outdoor", "gate", "ptz"],
    "recording_enabled": true,
    "lazy_hls": false
  }'

2. Managing Cameras via ruseon-cli ​

bash
# List all registered cameras and current stream status
ruseon-cli cameras list

# Add a camera from command line
ruseon-cli cameras add \
  --id cam_warehouse_01 \
  --name "Warehouse Main" \
  --url "rtsp://admin:pass@192.168.1.130:554/stream1" \
  --transport tcp \
  --record=true

# Test RTSP stream before adding
ruseon-cli cameras test --url "rtsp://admin:pass@192.168.1.130:554/stream1"

# Delete a camera
ruseon-cli cameras delete --id cam_warehouse_01

3. Organizing with Folders & Tags ​

To maintain order across large installations:

  • Hierarchical Folders: Group cameras by physical location (e.g. Headquarters $\to$ Building A $\to$ Floor 2).
  • Tag Taxonomies: Assign multiple metadata tags (e.g. ptz, 4k, thermal, critical) for instant multi-tag filtering in the Web UI video grid.

4. Bulk Topology Import & Export ​

Export and import complete camera configurations using JSON:

bash
# Export all camera configurations
curl -H "Authorization: Bearer <TOKEN>" http://localhost:8080/api/v1/cameras > cameras_backup.json

# Bulk import cameras
curl -X POST http://localhost:8080/api/v1/cameras/bulk \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d @cameras_backup.json

Released under the MIT License.