Choosing Between Imou Cloud Live and OpenSDK for Live Streaming
Description and use
Choosing between Imou Cloud Live and OpenSDK: web player for SaaS and mobile SDK for apps, with separate mounting, metrics, and teardown procedures to preserve RBAC and avoid playback errors.
Problem
Deciding which live streaming surface to use—cloud‑packaged web player (Imou Cloud Live) or native mobile SDK (OpenSDK)—while maintaining consistent RBAC, avoiding playback misuse, and ensuring proper teardown.
Outcome
Implemented a surface‑aware live streaming architecture that eliminates mixed‑media confusion, enforces RBAC, provides clear metrics per surface, and ensures proper teardown, leading to more reliable user experience and easier maintenance.
Workflow
- 1. Determine operator shell (browser or app).
- 2. Call
startLivewithsiteId,cameraId, andshell. - 3. Authorize user and fetch camera binding.
- 4. Open live handle via
cameraGateway.openLive. - 5. Mount appropriate player:
pagePlayer.mountfor web,appSdk.mountfor app. - 6. Render device controls based on capabilities and shell.
- 7. On route leave, visibility change, or app background, call
stopLiveto destroy or release. - 8. Emit surface‑specific metrics (
surface=page|app,event,fields). - 9. Log and alert on denied, offline, or media errors per surface.
- 10. Maintain separate teardown checklists for page and app.
- 11. Avoid mixing playback or public URLs; treat Cloud Live as live only.
- 12. Document and test both surfaces, ensuring shared inventory and external IDs match.
- 13. Ship only the surface that is fully tested and documented.
Evidence
Imou Cloud Live is cloud‑packaged live for web, H5, and SaaS—HLS, FLV, or RTMP family, and/or a JavaScript player.
OpenSDK is typically the native or mobile SDK surface for live and device operations in an app shell.
I refuse to treat Cloud Live as playback. I refuse to treat OpenSDK as a public livestream.
I log surface=page|app with denied|offline|media.
- Record date: 2026-09-22T10:00:39.026Z