跳转至
本 SDK 仅适用于过去 3 年内发布的设备。我们定期优化和更新 SDK，以确保兼容性和性能。对于超过 3 年的旧设备，我们不保证兼容性，也不会提供技术支持。

# SDK接口调用流程

## 流程说明

实现SDK接口时，根据不同的功能需求，可以分为14个模块。每个模块的实现都需要遵循以下四个基本流程：

### 基础流程

- 初始化SDK接口

  - 对整个网络SDK系统进行初始化，包括内存预分配等操作。

- 设置连接超时时间接口（可选）

  - 设置SDK中的网络连接超时时间，若不设置则使用默认值。

- 相关接口调用

  - 根据要实现的功能，选择合适的接口。

- 用户注册设备接口

  - 用户注册功能，返回的用户ID作为后续操作的唯一标识。

### 功能模块

#### 1. SDK初始化、设备注册、基础信息获取

- SDK初始化
  - SDK初始化
  - 设置重连时间、次数。
  - SDK资源释放
- 设备主动/被动注册，登出。
  - 注册成功后，返回的用户ID作为其他功能操作的唯一标识
  - SDK允许最大注册用户数为512个
  - 设备支持最多32个注册用户名，同时最多128个用户注册
- 设备激活
- 局域网设备搜索
- 异常消息回调
- 错误信息获取

#### 2. 预览

- 从前端服务器获取实时码流。
- 解码显示以及播放控制。

#### 3. 回放和下载

- 按时间远程回放或下载录像文件。
- 支持断点续传功能。

#### 4. 远程参数配置

- 设置和获取设备的参数，包括：
  - 修改设备时间
  - 进入、退出配置
  - 获取配置信息
  - 修改网络配置
  - 日志配置
  - 用户管理

#### 5. 远程设备维护

- 日志查找
- 设备升级
- 录像事件信息查找
- 配置文件导入/导出
- 磁盘管理
- 关闭/重启设备

#### 6. 语音对讲转发

- 实现语音数据对讲和获取。
- 支持自定义音频编码格式。

#### 7. 智能报警

- 订阅/取消订阅智能事件，当设备出现报警时将通过SDK推送。

#### 8. 云台控制

- 实现对云台的基本操作、预置点、巡航、轨迹控制。
- 分为两种控制模式：
  - 通过图像预览返回的句柄进行控制
  - 无预览限制，通过用户注册ID号进行控制

#### 9. 视频抓图

- 截取设备当前的图像，保存到文件获取缓冲区。
- 下载/搜索设备中保存的截图。

#### 10. 协议透传

- 使用设备API接口与设备进行交互。当SDK提供的接口无法实现所需功能时可以考虑使用此方式、需要用户自行解析API返回的内容（xml格式）。

#### 11. 设备报警信息

- 获取报警信息及报警输出状态
- 手动报警
- 布防/撤防
- 报警回调

#### 12. 人脸比对

- 开启/关闭人脸比对功能
- 人脸目标管理、人脸目标组管理、人脸比对报警配置

#### 13. 鱼眼矫正（仅支持Windows）

- 设置焦点
- 获取当前焦点所在的校正区域位置
- 电子云台移动
- 电子云台放大
- 设置鱼眼校正模式

#### 14. 获取设备信息

- 设备信息
- 通道状态
- 固件类型
- 设备支持的功能
- 设备时间
- 录像状态
- 设备的RTSP URL
- 数据SHA1加密

## 结论

本文详细介绍了SDK接口调用流程，包括基础流程和功能模块的实现，旨在帮助开发者有效使用SDK进行开发和维护。

错误码