Device Recordings
Browse what a device has recorded, choose a time window to upload to the cloud, and open it in the embedded visualizer. The Recordings tab provides a visual timeline, a grouped recordings list, and live status for every upload.
At a glance
When you open the Recordings tab for a device, you’ll see:- Timeline: an interactive, zoomable timeline of everything the device has recorded, what is already in the cloud, and what is being uploaded.
- Recordings List: a grouped table of recordings, each expandable to show the segments stored in the cloud.
- Recording uploads: a panel in the bottom corner, shown on every page of the app, with the progress of every upload in your organization.
Timeline
The timeline shows each recording session as a block:
Hover a block for its details: files, size, recording sets (pipelines), and segments already in the cloud. A requested upload shows its state, for example Uploading 40%, Paused at 25%, Queued on the robot, Waiting for the robot to connect or Processing in the cloud.
You can:
- Zoom and pan to explore different time periods.
- Select a range by dragging on the timeline, to upload it or to filter the list below.
- Click a block for details and upload options.
Tip: Use the calendar button to quickly jump to a specific date.
Upload a time window
- Drag across the timeline to select a window, or click a recording block.
- In Selection Details, adjust Start Time and End Time to the second with the date and time pickers.
- Under Pipelines, tick the recording sets to upload (Select all or Clear for all of them).
- Optionally tick Upload first: this upload goes before the device’s other uploads and takes over from one in progress, which resumes afterwards.
- Click Upload to Cloud.

/tf_static, /map and /robot_description from the start, so the visualizer can draw the scene from the first frame.
A window that is still being recorded, or ends in the future, is uploaded once the device has recorded all of it. A selection that includes evicted data cannot be uploaded, and the popover says so.
Uploading needs device write permission. If your organization’s storage is full, the request is refused with Storage full (see Storage and uploads).
Recording uploads panel
Every upload in your organization appears in the Recording uploads panel in the bottom-right corner, on every page of the app. Collapse it to a small bar showing how many uploads are active and how many failed. Each row shows the device and the time window, and one of these states:
Uploads marked First go before the robot’s other uploads. When a robot is offline, its rows say so, and the upload resumes on its own when it reconnects.
- Cancel stops an upload, and any other upload requested together with it. Click again to confirm. Parts already uploaded and processed are kept.
- Retry requests the same window again, with the same priority. It is hidden when the data no longer exists on the robot.
- Dismiss (×) hides a finished or failed row in your browser.
Failed uploads
A failed upload always tells you why. These are the most common reasons:Recordings List
Below the timeline, the Recordings List shows the recordings in the selected range, grouped by recording. For each one you can see:- Start and End
- Duration
- Pipelines: the recording sets included, as configured in Data Collection
- Size
- Cloud: whether it is uploading, processing, queued, or how many segments are in the cloud
Segments
Each uploaded window becomes a segment of its recording. Click Show cloud segments to list them.
Actions
- View segment in Lichtblick: open the segment in the embedded Lichtblick visualizer.
- Download segment: download the MCAP file. If the device records more than one set, choose which pipeline to download.
- Delete segment from cloud or Delete from Cloud for a whole recording. This cannot be undone. The storage it used is returned to your organization’s quota.

Poor or lost connections
Uploads are designed for robots on cellular, weak Wi-Fi, or links that come and go. This needs agent 1.0.0 or later.- Resumable. Data goes up in small parts. After a dropped connection, a reboot or an agent restart, the upload carries on from where it stopped and doesn’t resend what already arrived.
- No timeouts on slow links. A slow upload keeps going for as long as it makes progress. An offline robot retries about once a minute, and only gives up after 24 hours without any progress.
- Shares the link. By default uploads slow down as soon as they would delay live telemetry or other traffic on the robot. You can also set a maximum speed per device. See Uploads.
- Requested while offline. A request made while the robot is offline waits in the cloud and is sent as soon as it reconnects.
- Incidents first. Uploads requested by Copilot for an incident, and uploads marked Upload first, go before other uploads.
- Checked on arrival. The cloud checks every part before assembling the file. If a part is damaged or missing, the upload fails and tells you why, so you never get a file with a hidden gap.
Storage and uploads
Uploaded recordings count toward your organization’s storage:- The size is checked before data leaves the robot. If an upload would exceed your plan and your storage policy is Pause Data Collection, it is refused and fails with a storage quota reason. With Allow Overages it continues and the extra is billed.
- You are billed for the size of the final file stored in the cloud. Uploading the same window again does not count it twice.
- Deleting a recording or segment gives its storage back.
Best practices
- Upload important windows soon. The rolling buffer overwrites the oldest data once it is full, and an evicted window cannot be uploaded.
- Put small, high-value topics in their own recording set. Uploads send the lightest sets first, so you can open them before the camera data finishes.
- Use Upload first for the window you need now, rather than cancelling other uploads.
- Open a segment in Lichtblick to check it before downloading.
Troubleshooting
- A recording is missing. Check the selected time range, the device status, and that recording was switched on at that time.
- An upload is stuck on Waiting for the robot to connect. The robot is offline. The upload starts on its own when it reconnects.
- An upload is slow. Check the device’s upload settings: a Max upload speed caps it, and on a busy link uploads deliberately give way to other traffic.
- An upload failed. Read the reason in the uploads panel and see Failed uploads.
- Contact your administrator if problems persist.
