Record Manager
Record, segment, and upload video or sensor data.
nimbus record <command>
| Command | Description |
|---|---|
recorders-status | Show status of managed recorders |
cli-recorders-status | Show CLI-created recorders |
start-record | Start 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 [--video-alias <alias>] [--snapshot-alias <alias>] [--name <name>] [--tag <tag>] [--description <text>] | Report an event with explicit recording and snapshot selections; each alias option can be repeated. |
query-recordings | Query local recording metadata |
get-recording <file-id> | Show one recording by stable file id |
sync | Run the shared storage maintenance cycle for files and recordings |
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-status | Show 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 |
Synchronization
nimbus record sync runs the same maintenance cycle as nimbus file sync:
local expiry, quota cleanup, recording metadata repair, a combined data-directory scan when connected,
resources-folder preparation, and managed Files synchronization. It processes ordinary files as well as finalized
recordings. Queued recording and AWS uploads can continue after the command returns; its progress
describes managed Files synchronization.
Use nimbus file upload-file /path/to/file for a one-off upload that keeps the source. See
File Manager for destinations, folder handling, waiting times, and file status.
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-segmentapply only to managed recorders. - For managed DVR recorders,
recorders-statusreflects logical segmenting state, not the background continuous capture pipeline. Seeingstoppedbefore the firststart-segmentis 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 event report --name "red car"
# Link available recordings and request an image from the same profile
nimbus event report --video-alias cam01 --snapshot-alias cam01 --tag "white van"
# 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>
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.
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.
Event reports
nimbus event report and nimbus record report-recording-event report the same event. Agent assigns
its timestamp when accepting it. A successful response means the event was saved locally; cloud
delivery can follow later.
nimbus event report --name inspection \
--video-alias front-camera --video-alias rear-camera \
--snapshot-alias front-camera --snapshot-alias cloud-snapshot \
--description "Obstacle detected" --attribute location=loading-bay
--video-aliasselects video or CSV recording profiles for links to available recorded segments.--snapshot-aliasselects video recording profiles or enabled payload profiles. CSV recording profiles do not provide snapshots. Prepared images are internal objects saved with the event; other payload types become separately saved resources with independently delivered links.- Repeat either option to select several profiles. Each list must contain distinct aliases, with at most 16 selections across both lists. The same alias can appear once in each list.
- With no aliases, the event has no profile attachments. Reporting does not start a recorder.
--name,--tag,--description,--source-id, and repeatable--attribute key=valueprovide event metadata. The default name isrecording-event.
ROS video snapshots reuse a recently cached JPEG from the recorder. RTSP/device snapshots use the
first frame of the latest completed segment, with an estimated sample time no more than 30 seconds
old. Images share one second of preparation time, including queue time, and a 1 MiB combined
internal-data limit. Missing, stale, slow, or oversized images have explicit omission outcomes.
Saved events retry when cloud connectivity returns; external resource uploads never delay the event.
Prepared images travel inside the event in every storage mode, including “Locally on the Robot.”
Their private files use the recording quota. Cloud acknowledgement and recording prune preserve
them. Quota cleanup may remove old internal images while keeping the event. Missing images are
marked FileUnavailable; if capacity cannot be reserved, new captures have an omission outcome.
The storage setting controls recordings and external payload files. Local captures are reported to cloud as stored locally; external-store captures are reported after upload acknowledgement, without a Nimbus download link. Switching local storage to cloud later uploads retained external files and adds their links to the existing events without reporting those events again. Event list/watch show metadata and outcomes rather than raw captured contents.
Local events, recordings and external payloads expire after three calendar months plus one day of grace, whether uploaded or not. Cleanup removes their local files, metadata and relationships while preserving newer linked items and cloud copies. Uploads and relationship updates do not extend retention. Cleanup runs in bounded maintenance batches and defers items in active use.
nimbus event also provides local history commands:
nimbus event list [--page <n>] [--items <n>]lists saved events and is the defaulteventcommand. Pages start at 0; page size defaults to 50, with a maximum of 500.nimbus event watchstreams newly committed events. After reconnecting, start watch before refreshing list and deduplicate by event ID.nimbus event exportprints a URL for a bounded CSV export.nimbus event add-history --message <text> [--robot-id <id>] [--fleet-id <id>]adds a durable operator note without triggering live automation. Optional robot/fleet IDs are descriptive context.
list, watch, and export accept --text, --from, --to, --managers, and --levels.
Times use ISO-8601 UTC; managers are comma-separated ManagerType values, and levels are
comma-separated info, warning, error, or debug.
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.