Capture media
Put eyes on your events. Attach cameras, capture a clip automatically when something fires, and watch live when you need to.
Cameras and captures
A Camera is attached to a device and reports its own status (ONLINE, OFFLINE, or DEGRADED). A MediaCapture is a recorded clip tied to an event — stored in object storage with a thumbnail, downloadable through a presigned link.
Capture on events, or on demand
A MediaCaptureRule connects events to cameras: when an event matches (by source, severity, device, or sensor), the rule records a clip with a defined pre-roll and post-roll, subject to a cooldown and rate limit. For footage you didn't capture at the time, a DvrClipRequest pulls a clip from a camera's DVR for a specific time range.
Live streaming, brokered
A LiveSession is an operator-brokered live view of a camera. The platform mints short-lived credentials and brokers an HLS stream — playing from the local network first and falling back to a remote stream when needed — moving through REQUESTED → ACTIVE → STOPPING → STOPPED (or EXPIRED). Sessions expire on their own, and a background reaper stops stale sessions and purges their storage.
In the app
Open a camera's live view at /{slug}/cameras/{id}/live.
In the API
GET|POST|PUT|DELETE /api/v1/cameras— manage camerasGET /api/v1/captures— list event-triggered clips;GET …/{id}/downloadfor a presigned URLGET|POST|PUT|DELETE /api/v1/media-capture-rules— record clips automatically on matching eventsPOST /api/v1/dvr-clip-requests— pull footage from a camera's DVR for a time rangePOST /api/v1/cameras/{cameraId}/live— start a live session;GET /api/v1/livelists active ones