Live View & OSD
Per-camera live view with optional OSD (On-Screen Display) overlay. All endpoints are scoped to a specific camera.
See the auto-generated API reference for full request/response schemas.
Workflow
Section titled “Workflow”-
Enable or start live view
POST /api/cameras/{id}/live-view/enableorPOST /api/cameras/{id}/live-view/start -
Get frames
GET /api/cameras/{id}/live-view/framereturns a single JPEG frame -
Optional: enable OSD
POST /api/cameras/{id}/live-view/osd-enable -
Get OSD frames
GET /api/cameras/{id}/live-view/osd-frame -
Stop live view
POST /api/cameras/{id}/live-view/stop
Endpoints
Section titled “Endpoints”| Method | Path | Description |
|---|---|---|
POST |
/api/cameras/{id}/live-view/enable |
Send SDK Setting_Key_EnableLiveView |
POST |
/api/cameras/{id}/live-view/disable |
Disable live view |
GET |
/api/cameras/{id}/live-view/status |
Returns enabled + streaming booleans |
POST |
/api/cameras/{id}/live-view/start |
Start the frame capture worker (auto-enables live view) |
POST |
/api/cameras/{id}/live-view/stop |
Stop the frame capture worker |
GET |
/api/cameras/{id}/live-view/frame |
Latest JPEG frame (Content-Type: image/jpeg) |
POST |
/api/cameras/{id}/live-view/osd-enable |
Enable OSD overlay |
POST |
/api/cameras/{id}/live-view/osd-disable |
Disable OSD overlay |
GET |
/api/cameras/{id}/live-view/osd-status |
Returns supported + enabled |
GET |
/api/cameras/{id}/live-view/osd-frame |
Composited JPEG (live view + OSD) |
Get Frame
Section titled “Get Frame”Returns the latest live view frame as a JPEG image. Streaming must be started first.
curl -o frame.jpg http://localhost:8080/api/cameras/D10F60149B0C/live-view/frameOSD Overlay
Section titled “OSD Overlay”Enable on-screen display — the camera renders its UI (exposure info, focus points, histogram, etc.) as an overlay image composited onto the live view frame.
curl -o osd-frame.jpg http://localhost:8080/api/cameras/D10F60149B0C/live-view/osd-framePolling for continuous frames
Section titled “Polling for continuous frames”For a render loop at ~15 fps, poll GET /api/cameras/{id}/live-view/frame at roughly 66 ms intervals. The endpoint returns the latest JPEG the server has captured — the camera-side frame rate is the actual cap.
See the live-view polling example for full client implementations in TypeScript, Python, and Swift.