Recording

Cloud Recording stores camera footage to the cloud. All recording endpoints require the Cloud Recording service to be active on the camera — otherwise they return 404.
A single camera can have multiple simultaneous recordings (e.g. a continuous recording and an event-only recording with different retentions).
Terminology
Section titled “Terminology”| Term | Meaning |
|---|---|
| recording | The process of capturing video (a configured recording job). |
| segment | A single continuous block of video stored by a recording. Also called record segment. |
Timeline
Section titled “Timeline”recording/{recording_id}/timeline/ returns the segments within a given time range. Maximum range per request: 24 hours.
If recording ran uninterrupted the response will contain a single segment. Gaps in the timeline appear when the user manually stopped the recording or camera errors occurred.
Recording stream
Section titled “Recording stream”recording/{recording_id}/stream/ creates a playback stream from one or more segments. Use start and end query parameters to define the window. If you omit end the stream plays to the end of recorded footage — or continues live if the camera is still recording.
The response includes URLs for stream controls which let you sync the displayed timeline position with the actual stream position.
Stream controls and timeline sync
Section titled “Stream controls and timeline sync”Due to network conditions the wall-clock time a viewer spends watching doesn’t always match the time elapsed in the recorded video. Periodically calling the stream info endpoint returns the exact position of the stream at that moment, allowing you to keep your UI timeline in sync.
Available controls:
| Control | Endpoint |
|---|---|
| Info / sync | base_url from stream response |
| Play | play URL from stream response |
| Pause | pause URL from stream response |
| Set speed | speed URL from stream response |