Skip to main content

Record Manager

Record, segment, and upload video or sensor data.

nimbus record <command>
CommandDescription
recorders-statusShow status of managed recorders
cli-recorders-statusShow CLI-created recorders
start-recordStart a one-off CLI recorder
stop-record <id>Stop and remove CLI recorder
start-segment <id>Begin DVR segment (managed recorder) by id or alias
stop-segment <id> [--file-name <name>]End DVR segment (managed recorder) by id or alias, with optional export base name
discard-segment <id>Discard current active or pending DVR segment (managed recorder) by id or alias without finalizing a recording artifact
report-recording-event [--alias <id-or-alias>] --tag <tag> [--description <text>]Report a recording event/tag.--description is optional and currently not used by the recording metadata flow.
cleanup-orphaned-eventsDelete recording event rows that are not linked to any recording
query-recordingsQuery local recording metadata
get-recording <file-id>Show one recording by stable file id
upload-file <path>Upload file to cloud and keep the local source file
syncSync local recordings with cloud
export-recording-profile <path>Export current RecordingProfile to a JSON file
import-recording-profile <path>Import RecordingProfile from a JSON file and apply it
resources-storage-statusShow current resources storage configuration
export-resources-storage-config <path>Export resources storage config to a JSON file
import-resources-storage-config <path>Import resources storage config from a JSON file and apply it

Usage

nimbus record start-record <topic|url|device> <id> <type> [--ros1] [--file-name <name>] [--audio <src>]
  • <type>: raw | compressed | rtsp | onvif | device
  • --audio: rtsp, onvif, or device path
  • CLI recorders write directly to disk; start-segment/stop-segment apply only to managed recorders.
  • For managed DVR recorders, recorders-status reflects logical segmenting state, not the background continuous capture pipeline. Seeing stopped before the first start-segment is valid.

Examples

# ROS2 topic
nimbus record start-record /camera/image frontcam raw --file-name run1

# RTSP source
nimbus record start-record rtsp://user:pass@10.0.0.12/stream lobby rtsp

# Local device with audio
nimbus record start-record /dev/video0 deskcam device --audio plughw:1,0

# Managed recorder
nimbus record start-segment cam01
nimbus record stop-segment cam01

# Discard the current managed DVR segment without exporting it
nimbus record discard-segment cam01

# Report a general event
nimbus record report-recording-event --tag "red car"

# Report an alias-scoped event
nimbus record report-recording-event --alias cam01 --tag "white van" --description "alias event"

# Query the whole local recording repository
nimbus record query-recordings

# Query by alias
nimbus record query-recordings --alias cam01

# Query by tag
nimbus record query-recordings --tag "red car"

# Inspect one recording
nimbus record get-recording <file-id>

# Delete unattached event rows
nimbus record cleanup-orphaned-events

get-recording prints the recording fields (including VideoSource) and, when available, an attached-events table with EventId, Tag, and Offset. query-recordings prints EventIds in the list view; get-recording shows both EventIds and the attached-events table. report-recording-event stamps the event at agent ingress time. --description is optional and currently accepted but not used by the recording metadata flow. discard-segment cancels the current active or post-roll-pending managed DVR window. It does not delete recording files that were already finalized, including running chunks from a long active recording.

RecordingProfile import / export

# Export current RecordingProfile
nimbus record export-recording-profile /tmp/recording-profile.json

# Import RecordingProfile from disk
nimbus record import-recording-profile /tmp/recording-profile.json
  • Export writes the effective agent-owned RecordingProfile.
  • Import applies the profile via agent SoT and propagates it to recorders.