设备(CVR)
网络 SDK 编程指南
V5.2
设备网络 SDK 编程指南
I
声 明
非常感谢您购买我公司的产品,如果您有什么疑问或需要请随时联系我们。
我们已尽量保证手册内容的完整性与准确性,但也不免出现技术上不准确、与产品功能及操作不相
符或印刷错误等情况,如有任何疑问或争议,请以我司最终解释为准。
产品和手册将实时进行更新,恕不另行通知。
本手册中内容仅为用户提供参考指导作用,请以 SDK 实际内容为准。
设备网络 SDK 编程指南
II
目 录
声 明 ............................................................................................................................................................................... I
目 录 .............................................................................................................................................................................. II
1 SDK 简介................................................................................................................................................................... 1
2 SDK 版本更新 ........................................................................................................................................................... 4
3 函数调用顺序 .......................................................................................................................................................... 8
3.1 SDK 基本调用的主要流程 .............................................................................................................................. 8
3.2 通道管理模块流程 ........................................................................................................................................ 10
3.3 实时预览模块流程 ........................................................................................................................................ 12
3.4 云台控制模块流程 ........................................................................................................................................ 13
3.5 回放和下载模块流程 .................................................................................................................................... 14
3.6 参数配置模块流程 ........................................................................................................................................ 15
3.7 远程设备维护模块流程 ................................................................................................................................ 17
3.8 报警模块流程 ................................................................................................................................................ 18
3.8.1 报警(布防)流程 ............................................................................................................................... 18
3.8.2 报警(监听)流程 ............................................................................................................................... 19
4 函数调用实例 ........................................................................................................................................................ 20
4.1 通道配置示例代码 ........................................................................................................................................ 20
4.2 预览模块示例代码 ........................................................................................................................................ 23
4.3 云台控制模块示例代码 ................................................................................................................................ 29
4.4 回放和下载模块示例代码 ............................................................................................................................ 32
4.5 参数配置模块示例代码 ................................................................................................................................ 38
4.6 远程设备维护模块示例代码 ........................................................................................................................ 40
4.7 报警模块示例代码 ........................................................................................................................................ 43
5 函数说明 ................................................................................................................................................................ 48
5.1 SDK 初始化 .................................................................................................................................................... 48
5.1.1 初始化 SDK NET_DVR_Init .................................................................................................................... 48
5.1.2 释放 SDK 资源 NET_DVR_Cleanup ....................................................................................................... 48
5.2 SDK 本地功能 ................................................................................................................................................ 48
SDK 本地参数配置 ................................................................................................................................................. 48
5.2.1 获取 SDK 本地参数 NET_DVR_GetSDKLocalCfg ................................................................................... 48
5.2.2 设置 SDK 本地参数 NET_DVR_SetSDKLocalCfg .................................................................................... 49
连接和接收超时时间及重连设置 ........................................................................................................................ 50
5.2.3 设置网络连接超时时间和连接尝试次数 NET_DVR_SetConnectTime .............................................. 50
5.2.4 设置重连功能 NET_DVR_SetReconnect ............................................................................................... 50
5.2.5 设置接收超时时间 NET_DVR_SetRecvTimeOut .................................................................................. 50
多网卡绑定 ............................................................................................................................................................ 50
5.2.6 获取所有 IP,用于支持多网卡接口 NET_DVR_GetLocalIP ................................................................ 50
5.2.7 设置 IP 绑定 NET_DVR_SetValidIP ........................................................................................................ 51
SDK 版本、状态、能力 ......................................................................................................................................... 51
5.2.8 获取 SDK 的版本号和 build 信息 NET_DVR_GetSDKBuildVersion ...................................................... 51
5.2.9 获取当前 SDK 的状态信息 NET_DVR_GetSDKState ............................................................................ 51
设备网络 SDK 编程指南
III
5.2.10 获取当前 SDK 的功能信息 NET_DVR_GetSDKAbility .......................................................................... 52
SDK 启用写日志 ..................................................................................................................................................... 52
5.2.11 启用写日志文件 NET_DVR_SetLogToFile ............................................................................................. 52
异常消息回调 ........................................................................................................................................................ 53
5.2.12 注册接收异常、重连等消息的窗口句柄或回调函数 NET_DVR_SetExceptionCallBack_V30 ........... 53
获取错误信息 ........................................................................................................................................................ 54
5.2.13 返回最后操作的错误码 NET_DVR_GetLastError ................................................................................. 54
5.2.14 返回最后操作的错误码信息 NET_DVR_GetErrorMsg ........................................................................ 55
5.3 用户注册 ........................................................................................................................................................ 55
5.3.1 通过解析服务器,获取设备的动态 IP 地址和端口号 NET_DVR_GetDVRIPByResolveSvr_EX ......... 55
5.3.2 用户注册设备 NET_DVR_Login_V40 .................................................................................................... 55
5.3.3 用户注销 NET_DVR_Logout .................................................................................................................. 56
5.4 获取设备能力集 ............................................................................................................................................ 56
5.4.1 获取设备能力集 NET_DVR_GetDeviceAbility ...................................................................................... 56
5.5 实时预览 ........................................................................................................................................................ 57
强制 I 帧 ............................................................................................................................................................... 57
5.5.1 强制 I 帧控制 NET_DVR_RemoteControl ............................................................................................. 57
5.5.2 主码流动态产生一个关键帧 NET_DVR_MakeKeyFrame .................................................................... 58
5.5.3 子码流动态产生一个关键帧 NET_DVR_MakeKeyFrameSub .............................................................. 58
实时预览 ............................................................................................................................................................... 58
5.5.4 实时预览 NET_DVR_RealPlay_V40 ....................................................................................................... 58
5.5.5 停止预览 NET_DVR_StopRealPlay ........................................................................................................ 59
5.5.6 获取预览时用来解码和显示的播放库句柄 NET_DVR_GetRealPlayerIndex ...................................... 59
预览画面叠加字符和图像 .................................................................................................................................... 60
5.5.7 预览画面叠加字符和图像,Linux 下无此接口 NET_DVR_RigisterDrawFun ..................................... 60
预览时播放声音控制 ............................................................................................................................................ 60
5.5.8 设置声音播放模式 NET_DVR_SetAudioMode ..................................................................................... 60
5.5.9 独占声卡模式下开启声音 NET_DVR_OpenSound .............................................................................. 60
5.5.10 独占声卡模式下开启声音 NET_DVR_CloseSound .............................................................................. 61
5.5.11 共享声卡模式下开启声音 NET_DVR_OpenSoundShare ..................................................................... 61
5.5.12 共享声卡模式下关闭声音 NET_DVR_CloseSoundShare ..................................................................... 61
5.5.13 调节播放音量 NET_DVR_Volume ........................................................................................................ 61
实时数据回调和录像 ............................................................................................................................................ 62
5.5.14 注册回调函数,捕获实时码流数据 NET_DVR_SetRealDataCallBack ................................................ 62
5.5.15 注册回调函数,捕获实时码流数据(标准码流)NET_DVR_SetStandardDataCallBack .................. 62
5.5.16 捕获数据并保存到指定的文件中 NET_DVR_SaveRealData ............................................................... 63
5.5.17 停止数据捕获 NET_DVR_StopSaveRealData ........................................................................................ 63
预览抓图 ............................................................................................................................................................... 64
5.5.18 设置抓图模式 NET_DVR_SetCapturePictureMode .............................................................................. 64
5.5.19 预览时,单帧数据捕获并保存成图片 NET_DVR_CapturePicture ..................................................... 64
5.6 云台控制 ........................................................................................................................................................ 64
云台控制操作 ........................................................................................................................................................ 64
5.6.1 云台控制操作(需先启动图像预览)NET_DVR_PTZControl ............................................................ 64
5.6.2 云台控制操作(不用启动图像预览)NET_DVR_PTZControl_Other ................................................. 66
设备网络 SDK 编程指南
IV
5.6.3 带速度的云台控制操作(需先启动图像预览)NET_DVR_PTZControlWithSpeed ........................... 66
5.6.4 带速度的云台控制操作(不用启动图像预览)NET_DVR_PTZControlWithSpeed_Other ............... 67
云台预置点操作 .................................................................................................................................................... 67
5.6.5 云台预置点操作,需先启动预览 NET_DVR_PTZPreset ..................................................................... 67
5.6.6 云台预置点操作 NET_DVR_PTZPreset_Other...................................................................................... 68
云台巡航操作 ........................................................................................................................................................ 68
5.6.7 云台巡航操作,需先启动预览 NET_DVR_PTZPCruise ....................................................................... 68
5.6.8 云台巡航操作 NET_DVR_PTZPCruise_Other ........................................................................................ 69
云台轨迹操作 ........................................................................................................................................................ 69
5.6.9 云台轨迹操作,需先启动预览 NET_DVR_PTZTrack ........................................................................... 69
5.6.10 云台轨迹操作 NET_DVR_PTZTrack_Other ........................................................................................... 70
5.7 录像回放、下载、锁定及备份 .................................................................................................................... 70
月历录像查询 ........................................................................................................................................................ 70
5.7.1 获取月历录像分布 NET_DVR_GetDeviceConfig .................................................................................. 70
通道模式录像查找 ................................................................................................................................................ 71
5.7.2 根据文件类型、时间查找设备录像文件 NET_DVR_FindFile_V40 ................................................... 71
5.7.3 逐个获取查找到的文件信息 NET_DVR_FindNextFile_V40 ................................................................ 71
5.7.4 关闭文件查找,释放资源 NET_DVR_FindClose_V30 ........................................................................ 72
流 ID 模式录像查找 ............................................................................................................................................... 72
5.7.5 根据事件查找录像文件 NET_DVR_FindFileByEvent_V40 ................................................................... 72
5.7.6 逐个获取查找到的文件信息 NET_DVR_FindNextEvent_V40 ............................................................. 73
5.7.7 关闭文件查找,释放资源 NET_DVR_FindClose_V30 ........................................................................ 73
智能搜索 ............................................................................................................................................................... 73
5.7.8 开始智能搜索 NET_DVR_SmartSearch_V40 ....................................................................................... 73
5.7.9 逐个获取查找到的智能录像信息 NET_DVR_SearchNextInfo ............................................................ 74
5.7.10 停止智能搜索 NET_DVR_StopSearch .................................................................................................. 74
录像远程回放 ........................................................................................................................................................ 74
5.7.11 按时间回放录像 NET_DVR_PlayBackByTime_V40 ............................................................................. 74
5.7.12 按时间倒放录像 NET_DVR_PlayBackReverseByTime_V40 .................................................................. 75
5.7.13 控制录像回放的状态 NET_DVR_PlayBackControl_V40 ...................................................................... 76
5.7.14 停止回放录像 NET_DVR_StopPlayBack .............................................................................................. 77
回放数据回调和录像 ............................................................................................................................................ 78
5.7.15 捕获回放的录像数据,并保存成文件 NET_DVR_PlayBackSaveData ............................................... 78
5.7.16 停止保存录像数据 NET_DVR_StopPlayBackSave ................................................................................ 78
5.7.17 注册回调函数,捕获录像数据 NET_DVR_SetPlayDataCallBack_V40 ................................................ 78
回放抓图等其他操作 ............................................................................................................................................ 79
5.7.18 获取录像回放时显示的 OSD 时间 NET_DVR_GetPlayBackOsdTime ................................................. 79
5.7.19 录像回放时抓图,并保存在文件中 NET_DVR_PlayBackCaptureFile ............................................... 79
5.7.20 刷新显示回放窗口 NET_DVR_RefreshPlay ......................................................................................... 80
5.7.21 获取回放时用来解码显示的播放库句柄 NET_DVR_GetPlayBackPlayerIndex.................................. 80
下载录像文件 ........................................................................................................................................................ 80
5.7.22 按时间下载录像文件 NET_DVR_GetFileByTime_V40 ......................................................................... 80
5.7.23 控制录像下载的状态 NET_DVR_PlayBackControl_V40 ....................................................................... 81
5.7.24 停止下载录像文件 NET_DVR_StopGetFile ......................................................................................... 82