Hi team,
First off - shout out to the team for the excellent documentation and the hello-world demo app, that really helped us get things working much faster than expected!
A few questions have come up during our development/exploration:
- For the media clips API, if I’m understanding correctly we essentially must know timestamps of recordings already to download them (either via the webhooks or by triggering the videos ourselves). Our use case would benefit from the ability to pull historic video clips, or a list of saved clips so we pull timestamps and download older clips. I could understand why you may not be able to / want to enable this, but is there any way to do this?
- For our use case, ideally we’d be able to periodically pull photos from the cameras (rather than video). As is, we’ll likely just create a short video and pull a screenshot from it, but I’m sure we are losing quality by doing this rather than taking a high-res photo from the device. Is there a better way to do this? Or perhaps this is a feature request for a future release.
Thanks!
-Cam
1 Like
Hi Cam,
1. Pulling historic video clips / listing saved clips
You’re correct — the media clips download endpoint (POST /v1/devices/{device_id}/media/video/download) retrieves existing recorded footage only. It requires you to already know the timestamp, and footage is only available if the camera was actively recording at that time (triggered by either a live video session or a motion event).
There is currently no API to list or browse saved recordings/event history. The two ways to know when footage exists are:
Subscribe to webhook events and store the timestamps on your side — each event confirms the camera was recording at that time
Track your own live session start/stop times when you initiate recordings programmatically
2. Pulling still photos / snapshots from cameras
There is no snapshot or still image capture API available today. The current approach — as you described — would be to request a short video clip (you can go as low as 1 second via the duration parameter) and extract a frame from it.
To maximize quality when doing this, you can request the highest resolution the device supports in the video_options:
{
“timestamp”: <epoch_ms>,
“duration”: 1000,
“video_options”: {
“codec”: “hevc”,
“frame_rate”: 25,
“resolution”: { “width”: 1920, “height”: 1080 }
}
}
Then extract a frame using something like ffmpeg (ffmpeg -i clip.mp4 -frames:v 1 -q:v 2 snapshot.jpg). With HEVC at 1080p and a high frame rate, the quality loss compared to a native photo should be minimal.
That said, a dedicated snapshot API is feature request — we’ll track that internally and keep you posted when available.
Thank you,
Alex
1 Like
Thank you Alex for the responses & confirmation!