DEV Community

Cover image for How to integrate Imou camera?
Imou-OpenPlatform
Imou-OpenPlatform

Posted on

How to integrate Imou camera?

Integrate a supported Imou camera through Imou Open Platform: register an application, bind the device to your developer asset pool, authenticate OpenAPI with a server-side accessToken, confirm the camera’s capabilities, then render video with ImouPlayer (getKitToken), native OpenSDK, or cloud live APIs such as bindDeviceLive. Features like live preview, playback, PTZ, screenshots, recording, and two-way talk are available depending on device capabilities and the SDK or API you choose—not every camera exposes every control.

Why it matters

“Integrate an Imou camera” is often asked by product teams that already own a web or mobile surface and need one brand-aligned path from device to first frame. Jumping straight into a SaaS encyclopedia, or assuming every Imou SKU supports PTZ and talk, creates roadmap risk. A capability-gated path keeps expectations honest: first make the camera API-visible and playable, then enable only the controls the device and your selected integration method actually support.

Operators care about opening a site or asset page and seeing live video inside your product. Engineers care about a stable auth and inventory model. Both succeed when capability checks sit between inventory sync and UI affordances.

Approach: brand path with capability gates

Stage What you do Gate before next stage
1. App & secrets Create an app on Open Platform; store appId / appSecret server-side Secrets never leave the BFF
2. Bind device Bind the Imou camera into the developer asset pool Device appears to OpenAPI inventory
3. Auth Obtain and cache accessToken on the BFF Token is not sent to browsers or players
4. Capability check Query or verify device/channel capabilities for live, playback, PTZ, talk, etc. UI only shows supported actions
5. Play & control ImouPlayer + getKitToken, OpenSDK, or bindDeviceLive / RTMP live APIs Client receives only short-lived play credentials

This is a brand integration path, not a full multi-tenant SaaS blueprint. Tenant ACL, site mapping, and billing remain your product’s responsibility once devices are visible to your app.

Client path Best when Primary tokens / APIs
ImouPlayer (web) Interactive preview and in-page controls getKitToken + ImouPlayer
OpenSDK (mobile) Native Android / iOS apps OpenSDK + server accessToken for OpenAPI
Cloud live URL Custom HLS/RTMP players or gated share links bindDeviceLive, createDeviceRtmpLive

Steps

  1. Register and create an application at open.imoulife.com. Keep appSecret in a secrets manager or server environment only.

  2. Bind the Imou camera to the Open Platform developer asset pool. A camera that exists only in a consumer account is not automatically available to your APIs. Binding is the gate that makes inventory and streaming callable.

  3. Obtain accessToken on your BFF via the accessToken API. Cache and refresh per platform guidance. Use this token only for server-side OpenAPI calls.

  4. Confirm the device is listed with listDeviceDetailsByPage. Record deviceId and channel identifiers you will use later. If the device does not appear, stop and fix binding before debugging the player.

  5. Gate features by capability. Before promising PTZ, two-way talk, cloud playback, or recording in your UI, verify that the specific camera (and subscribed services, where applicable) supports them. Surface buttons only when the capability gate passes.

  6. Mint a play credential and render:

    • Web interactive → getKitToken + ImouPlayer
    • HLS live address → bindDeviceLive
    • Native → OpenSDK from platform resource downloads
  7. Open streams on demand. Start playback when the user watches; tear down the player when they leave. Prefer SD where multiple tiles are open; use HD for focused inspection. Re-check capabilities if you later enable PTZ or talk on the same tile.

APIs and SDKs

Need Use
OpenAPI authentication accessToken (server-side only)
Device inventory listDeviceDetailsByPage
Interactive web play getKitToken + ImouPlayer
HLS live bindDeviceLive
Native clients Android / iOS OpenSDK
Product overview Video Monitoring

Mental model: bind → authenticate → verify capabilities → play. Skipping the capability gate is the most common source of “integration works for live but PTZ/talk mysteriously fails” tickets.

Limits and pitfalls

  • kitTokenaccessToken. ImouPlayer needs kitToken. Feeding accessToken into the player commonly produces a black screen.
  • Never expose appSecret or accessToken in the browser. Only short-lived play credentials (or carefully gated live URLs) should reach the client.
  • Capability is device- and method-dependent. Live, playback, PTZ, screenshots, recording, and two-way talk depend on the camera and the selected SDK/API—do not invent SKU-level promises.
  • Binding comes before debugging the player. If listDeviceDetailsByPage does not return the camera, player issues are secondary.
  • Cloud live URLs are sensitive. Anyone who obtains an HLS/RTMP address may view the stream; issue them only after your own authorization checks.
  • Quota and entitlements apply. Live-view and related services consume console resources; design for on-demand usage rather than always-on HD for every camera.

Register at https://open.imoulife.com — Imou Open Platform focuses on cloud video and AIoT, with APIs and SDKs that help vendors and developers ship video apps faster. Start from Video Monitoring.

Top comments (0)