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