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

# 2025-10-23

## 🎉 新增功能

### 多通道与对讲功能

- 新增接口 `NET_SDK_StartVoiceComTalk`，用于一对多通道喊话。
- 支持多通道单向对讲，单个设备单一通道同时只能允许一个在对讲状态（包括单向和双向对讲）。
- 优化语音对讲功能，解决内存泄露和空指针问题

### 多目IPC支持

- 新增对多通道IPC的支持。
- 适配多目IPC的智能事件订阅, 新增智能事件设置回调函数接口 `NET_SDK_SetSubscribCallBack_V2` 以及回调函数`SUBSCRIBE_CALLBACK_V2`
- `NET_SDK_SetDVRConfig` / `NET_SDK_GetDVRConfig` 接口适配多目 IPC 的 `DD_CONFIG_ITEM_CHNN_CONFIG` 命令。

### 回放功能增强

- 多路回放可以选择播放某个通道的声音
- 新增接口 `NET_SDK_GetPlayBackSyncHandle`用于获取使用`NET_SDK_PlayBackByTimeSync`进行多路回放时的通道回放句柄。

### 门禁功能扩展

- 新增报警事件类型：
- `NET_SDK_N9000_ALARM_TYPE_TAMPER`：防拆报警（仅IPC）
- `NET_SDK_N9000_ALARM_TYPE_DOORCONTACT_ALARM`：门磁报警（仅IPC）
- `NET_SDK_N9000_ALARM_TYPE_DOORCONTACT_STATUS`：门磁状态报警（仅IPC）
- `NET_SDK_N9000_ALARM_TYPE_DOORLOCK_STATUS`：门锁状态报警（仅IPC）
- `NET_SDK_N9000_ALARM_TYPE_UNLOCKING_EVENT`：门禁开门报警（仅IPC）
- 新增枚举 `ACCESS_CONTROL_DEVICE_TYPE`：门禁设备类型
- 新增枚举 `ACCESS_CONTROL_CALL_TYPE`：通话呼叫类型
- 新增结构体 `UNLOCK_PARAM`：门禁开门参数
- 新增结构体 `CALL_RECORD`：门禁室内机通话记录
- 新增结构体 `CALL_RECORD_QUERY_PARAM`：门禁室内机通话记录查询参数
- 接口 `NET_SDK_UnlockAccessControl` 支持NVR
- 新增接口 `NET_SDK_UnlockAccessControlEx`，门禁开门扩展接口，可指定开启对应的门锁
- 新增接口 `NET_SDK_GetCallLog`，用于获取门禁室内机通话记录

### NVR云升级

- 增加NVR云升级相关接口：
- `NET_SDK_CloudUpgrade`：云升级NVR
- `NET_SDK_CloseUpgradeHandle`：关闭远程升级句柄，释放资源
- `NET_SDK_GetCloudUpgradeInfo`： 获取云升级信息

- `NET_SDK_CloudUpgradeNode`：云升级NVR下面的IPC

- 增加NVR云升级相关结构体

- `CLOUD_UPGRADE_INFO`：NVR云升级相关信息，包含通道，进度，版本等信息。

### 多播功能

- 增加多播激活设备功能（IPC 5.3.1版本开始支持）
- 增加多播设置网络参数功能接口 `NET_SDK_SetDeviceIP`

### 智能事件

- 增加拌线目标框坐标传递。
- Demo 支持智能事件图片画框功能。

### 车牌识别

- 增加IPC 5.3.0+版本的车牌事件解析支持。

### 日志系统增强

- `N9000_LOG_TYPE`新增以下 22 种日志类型：
- `LOG_ALARM_RTC`：RTC 异常报警。
- `LOG_EXCEPTION_ABNORMAL_RAID_HOT_EXCEPTION`：热备异常。
- `LOG_EXCEPTION_ALARM_SERVER_OFFLINE`：报警服务器掉线。
- `LOG_EXCEPTION_DISCARD_EXTRACT_TASK`：实时未处理。
- `LOG_EXCEPTION_DISK_FAILURE`：磁盘故障。
- `LOG_EXCEPTION_HDD_PULL_OUT`：硬盘被拔出。
- `LOG_EXCEPTION_NAT_TRAVERSAL_ABNORMAL`：NAT 穿透异常。
- `LOG_EXCEPTION_RAID_SUBHEALTH`：RAID 次健康。
- `LOG_EXCEPTION_RAID_UNAVAILABLE`：RAID 不可用。
- `LOG_EXCEPTION_SIGNAL_SHELTER`：信号遮蔽。
- `LOG_EXCEPTION_UPGRADE_ERROR`：升级失败。
- `LOG_INFOR_ALARM_STATE`：报警状态。
- `LOG_INFOR_CHANNEL_STATE`：通道状态。
- `LOG_INFOR_DISK`：磁盘信息。
- `LOG_INFOR_NETWORK`：网络信息。
- `LOG_INFOR_RECORD_STATE`：录像状态。
- `LOG_INFOR_SCHEDULE_RECORD`：排程录像。
- `LOG_INFOR_SCHEDULE_SNAP`：排程抓图。
- `LOG_INFOR_SYSTEM_BASE`：系统信息。
- `LOG_INFOR_SYSTEM_RUN`：系统运行信息。
- `LOG_OPERATE_INTELLIGENT_ANALYSIS_INFO`：智能分析操作日志。
- `LOG_OPERATE_NAT_INFO`：NAT 操作日志。
- `LOG_OPERATE_PLATELIBRARY`：车牌库操作日志。

## 🐛 Bug 修复

### 登录与连接

- 修复用户名包含数字的时候，偶现的登录失败的问题。
- 修复使用P2P登录的时候，发送升级包失败的问题。

### 回放相关

- 优化回放速度控制。
- 修复因为`NET_SDK_SetPlayDataCallBack`设置的回调中的耗时操作导致程序死锁的问题。

### 设备升级

- 修复SDK无法升级新版本DVR的问题，兼容新的设备。

### 录像搜索功能

- 修复搜索不到有的智能事件录像的问题。

### 其他修复

- 修复SDK在预览时可能造成死锁的问题。
- 修复 `NET_SDK_GetLastError` 接口获取不到错误码的问题
- 优化接口 `NET_SDK_GetRecordDevice`，新增参数 `maxNum`，避免溢出。
- 修复导入配置文件过大，导致的导入失败问题。

## ⚡ 优化改进

### 底层架构优化

- TCP连接方式，底层socket管理更改为 libevent 实现，提升socket管理效率
- libevent 适配 macOS
- libevent 适配 Linux

### 跨平台支持

- MacOS 平台支持，提供动态Framework。
- MacOS 提供桌面demo程序，包含基础功能示例。

### 结构体优化

- 结构体 `NET_SDK_DEVICEINFO` 字段调整：
- `localVideoInputNum` 由 `unsigned char` 更改为 `unsigned int`
- `netVideoInputNum` 由 `unsigned char` 更改为 `unsigned int`
- `DD_MAX_CAMERA_NUM` 由128变为256
- 结构体 `NET_SDK_ALARMINFO_EX` 扩展属性 `status`
- 结构体 `NET_SDK_DEVICE_DISCOVERY_INFO`增加 `deviceActivated` 字段标识激活状态。
- `NET_SDK_RECORD_STATUS_EX` 中：dwResolution 字段含义修改为：高 16 位表示宽度，低 16 位表示高度。

### 接口优化

- `NET_SDK_SetNat2Addr` 接口，允许重新配置NAT服务器地址和端口
- 修改 `NET_SDK_GetPlayBackSyncHandle` 接口
- `NET_SDK_SetDeviceIP` 接口调整
- Windows平台修改SDL创建窗口的过程放到主线程

### 事件处理

- 布防撤防的时候主动推送告警
- 兼容旧版本IPC的PEA事件

注意事项： 1. 部分功能需要设备固件版本配合，请确认设备版本 2. MacOS相关功能已完成适配 3. 底层架构已升级为 libevent，提升稳定性和性能

错误码