Get started
  • English
  • 简体中文
Official Site
Get started
  • English
  • 简体中文
Official Site
  • Get started
  • Concepts
  • Guides
    • Account and authorization
    • Device access
      • Integrate a camera
      • Integrate in a SaaS
      • Integrate on the web
      • Multi-camera dashboard
      • Bind a device via API
      • Device lifecycle
      • Troubleshoot bind and offline
    • Audio and video
    • Device capability integration
    • Receive device messages
    • Manage cloud storage
    • Release and operations
  • Device capabilities & events
  • API reference
  • SDK and tools
  • Solutions
  • Platform and support
On this page
Scope and prerequisites
Steps
Client implementations
Related reference

Integrate a camera

Integrate a camera

Scope and prerequisites

Connect a supported Imou camera to your web app, mobile app, or SaaS. Create an app first, then bind the device to the developer account. A device that only shows up in the consumer app is invisible to OpenAPI.

Use the administrator accessToken only on your server. Do not put the AppSecret in a browser or an install package.

Steps

  1. Create an app at open.imoulife.com and store the AppId and AppSecret.
  2. Bind the camera to the developer account. See Add a device.
  3. Call accessToken from the server and cache the token.
  4. Sync devices with Paged device detail. pageSize is 1–50. Confirm one device is listed before you build a multi-camera wall.
  5. Pick a playback path below.

Client implementations

  • Web / H5: exchange accessToken for a kitToken on the server, then use ImouPlayer in the browser. Do not pass accessToken to the player. See Integrate on the web.
  • Android / iOS: use OpenSDK. Packages are in Downloads.
  • A shareable live address: HLS uses bindDeviceLive. RTMP uses createDeviceRtmpLive. See Cloud live from an AppId.
  • A SaaS inventory: store listDeviceDetailsByPage results in your tenant and site model. Cloud permissions do not replace your tenant isolation. See Integrate in a SaaS.

For a wall of cameras, default streamId to 1 (SD). Use 0 (HD) only when the user opens a single camera. Do not prefetch every address before a cell is visible, and destroy the player when the cell closes.

Related reference

  • Choose an integration mode
  • Devices
  • JavaScript development
Configure flow resource pools
Integrate in a SaaS