Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

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 startLive with siteId, cameraId, and shell.
  • 3. Authorize user and fetch camera binding.
  • 4. Open live handle via cameraGateway.openLive.
  • 5. Mount appropriate player: pagePlayer.mount for web, appSdk.mount for app.
  • 6. Render device controls based on capabilities and shell.
  • 7. On route leave, visibility change, or app background, call stopLive to 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.

Source

OpenSDK is typically the native or mobile SDK surface for live and device operations in an app shell.

Source

I refuse to treat Cloud Live as playback. I refuse to treat OpenSDK as a public livestream.

Source

I log surface=page|app with denied|offline|media.

Source

  • Record date: 2026-09-22T10:00:39.026Z