Imou Open Device Video
/install imou-device-video
\r \r
Imou Device Video(乐橙设备视频)\r
\r Get device live HLS URL, local/cloud record clips, and record playback HLS URL by device channel. For OpenClaw download, play, and record.\r \r
Search Aliases\r
\r
- imou\r
- Imou\r
- 乐橙\r
- lechange\r
- easy4ip\r
- imou-device-video\r
- 乐橙直播\r
- 乐橙回放\r
- 乐橙云录像\r
- 乐橙本地录像\r \r
Quick Start\r
\r Install dependency:\r
pip install requests\r
```\r
\r
Set environment variables (required):\r
```bash\r
export IMOU_APP_ID="your_app_id"\r
export IMOU_APP_SECRET="your_app_secret"\r
export IMOU_BASE_URL="your_base_url"\r
```\r
\r
**API Base URL (IMOU_BASE_URL)** (required; no default—must be set explicitly):\r
- **Mainland China**: Register a developer account at [open.imou.com](https://open.imou.com) and use the base URL below. Get `appId` and `appSecret` from [App Information](https://open.imou.com/consoleNew/myApp/appInfo).\r
- **Overseas**: Register a developer account at [open.imoulife.com](https://open.imoulife.com) and use the base URL for your data center (view in [Console - Basic Information - My Information](https://open.imoulife.com/consoleNew/basicInfo/myInfo)). Get `appId` and `appSecret` from [App Information](https://open.imoulife.com/consoleNew/myApp/appInfo). See [Development Specification](https://open.imoulife.com/book/http/develop.html).\r
\r
| Region | Data Center | Base URL |\r
|----------------|-----------------|----------|\r
| Mainland China | — | `https://openapi.lechange.cn` |\r
| Overseas | East Asia | `https://openapi-sg.easy4ip.com:443` |\r
| Overseas | Central Europe | `https://openapi-fk.easy4ip.com:443` |\r
| Overseas | Western America | `https://openapi-or.easy4ip.com:443` |\r
\r
Run:\r
```bash\r
# Get live HLS URL for a device channel (creates live if needed; if LV1001, fetches from live list)\r
python3 {baseDir}/scripts/device_video.py live DEVICE_ID CHANNEL_ID [--stream-id 0|1]\r
\r
# Get local or cloud record clips in a time range\r
python3 {baseDir}/scripts/device_video.py record-clips DEVICE_ID CHANNEL_ID --begin "yyyy-MM-dd HH:mm:ss" --end "yyyy-MM-dd HH:mm:ss" [--local|--cloud] [--count 100] [--query-range 1-100]\r
\r
# Get record playback HLS URL for a time range (local or cloud)\r
python3 {baseDir}/scripts/device_video.py playback-hls DEVICE_ID CHANNEL_ID --begin "yyyy-MM-dd HH:mm:ss" --end "yyyy-MM-dd HH:mm:ss" --record-type localRecord|cloudRecord [--stream-id 0|1]\r
```\r
\r
## Capabilities\r
\r
1. **Live HLS**: Select device + channel, get real-time preview HLS URL. Supports OpenClaw download, play, record. If bind returns LV1001 (live already exists), the skill queries live list to return the existing HLS URL.\r
2. **Record clips**: Select device + channel, get local or cloud record clip list in a time range (begin/end).\r
3. **Playback HLS**: Select device + channel, get HLS URL for a given time range for local or cloud record; supports OpenClaw download, play, record. Playback URL has limited validity—use soon after obtaining.\r
\r
## Request Header\r
\r
All requests to Imou Open API include the header `Client-Type: OpenClaw` for platform identification.\r
\r
## API References\r
\r
| API | Doc |\r
|-----|-----|\r
| Dev spec | https://open.imou.com/document/pages/c20750/ |\r
| Get accessToken | https://open.imou.com/document/pages/fef620/ |\r
| Create device live (bindDeviceLive) | https://open.imou.com/document/pages/1bc396/ |\r
| Create device record HLS | https://open.imou.com/document/pages/185646/ |\r
| Get live list (liveList) | https://open.imou.com/document/pages/b0e047/ |\r
| Query local records | https://open.imou.com/document/pages/396dce/ |\r
| Query cloud records | https://open.imou.com/document/pages/8e0e35/ |\r
\r
See `references/imou-video-api.md` for request/response formats.\r
\r
## Tips\r
\r
- **Token**: Fetched automatically per run; valid 3 days.\r
- **Live**: Use `--stream-id 0` (main stream) or `1` (sub stream). If API returns LV1001, the script falls back to liveList to find the existing HLS for the same device/channel/streamId.\r
- **Record clips**: `--local` uses queryLocalRecords (param `count`, max 100; some devices limit to 32). `--cloud` uses queryCloudRecords (param `queryRange` e.g. `1-100`). Paginate by using the last clip’s endTime as next beginTime.\r
- **Playback HLS**: Time format `yyyy-MM-dd HH:mm:ss`; no cross-day range. Record type `localRecord` or `cloudRecord`. Use the URL promptly; it expires.\r
\r
## Data Outflow\r
\r
| Data | Sent to | Purpose |\r
|------|---------|--------|\r
| appId, appSecret | Imou Open API | Obtain accessToken |\r
| accessToken, deviceId, channelId, etc. | Imou Open API | Live, record clips, playback HLS |\r
\r
All requests go to the configured `IMOU_BASE_URL`. No other third parties.\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install imou-device-video - After installation, invoke the skill by name or use
/imou-device-video - Provide required inputs per the skill's parameter spec and get structured output
What is Imou Open Device Video?
imou / Imou / 乐橙 / lechange 设备视频与录像技能。支持实时预览 live HLS、本地/云录像片段查询、录像回放 HLS。 Imou/Lechange device video skill for live HLS, local/cloud record clips, and playb... It is an AI Agent Skill for Claude Code / OpenClaw, with 199 downloads so far.
How do I install Imou Open Device Video?
Run "/install imou-device-video" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Imou Open Device Video free?
Yes, Imou Open Device Video is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Imou Open Device Video support?
Imou Open Device Video is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Imou Open Device Video?
It is built and maintained by Imou-OpenPlatform (@imou-openplatform); the current version is v1.0.1.