设备(DVR&NVR)
网络 SDK 编程指南
V5.2
设备网络 SDK 编程指南
I
声 明
非常感谢您购买我公司的产品,如果您有什么疑问或需要请随时联系我们。
我们已尽量保证手册内容的完整性与准确性,但也不免出现技术上不准确、与产品功能及操作不相
符或印刷错误等情况,如有任何疑问或争议,请以我司最终解释为准。
产品和手册将实时进行更新,恕不另行通知。
本手册中内容仅为用户提供参考指导作用,请以 SDK 实际内容为准。
设备网络 SDK 编程指南
II
目 录
声 明 ............................................................................................................................................................................... I
目 录 .............................................................................................................................................................................. II
1 SDK 简介................................................................................................................................................................... 1
2 SDK 版本更新 ........................................................................................................................................................... 5
3 函数调用顺序 ........................................................................................................................................................ 19
3.1 SDK 基本调用的主要流程 ............................................................................................................................ 19
3.2 IP 通道相关说明 ............................................................................................................................................ 21
3.3 实时预览模块流程 ........................................................................................................................................ 22
3.4 回放和下载模块流程 .................................................................................................................................... 23
3.5 参数配置模块流程 ........................................................................................................................................ 24
3.6 远程设备维护模块流程 ................................................................................................................................ 25
3.7 语音对讲转发模块流程 ................................................................................................................................ 26
3.8 报警模块流程 ................................................................................................................................................ 27
3.8.1 报警(布防)流程 ............................................................................................................................... 27
3.8.2 报警(监听)流程 ............................................................................................................................... 28
3.9 透明通道模块流程 ........................................................................................................................................ 29
4 函数调用实例 ........................................................................................................................................................ 30
4.1 IP 通道资源配置示例代码 ............................................................................................................................ 30
4.2 预览模块的示例代码 .................................................................................................................................... 34
4.3 回放和下载模块的示例代码 ........................................................................................................................ 39
4.4 参数配置模块的示例代码 ............................................................................................................................ 47
4.5 远程设备维护模块的示例代码 .................................................................................................................... 49
4.6 语音对讲转发模块的示例代码 .................................................................................................................... 51
4.7 报警模块的示例代码 .................................................................................................................................... 52
4.8 透明通道模块的示例代码 ............................................................................................................................ 57
5 函数说明 ................................................................................................................................................................ 60
5.1 SDK 初始化 .................................................................................................................................................... 60
5.1.1 初始化 SDK NET_DVR_Init .................................................................................................................... 60
5.1.2 释放 SDK 资源 NET_DVR_Cleanup ....................................................................................................... 60
5.2 SDK 本地功能 ................................................................................................................................................ 60
SDK 本地参数配置 ................................................................................................................................................. 60
5.2.1 获取 SDK 本地参数 NET_DVR_GetSDKLocalCfg ................................................................................... 60
5.2.2 设置 SDK 本地参数 NET_DVR_SetSDKLocalCfg .................................................................................... 61
连接和接收超时时间及重连设置 ........................................................................................................................ 62
5.2.3 设置网络连接超时时间和连接尝试次数 NET_DVR_SetConnectTime .............................................. 62
5.2.4 设置重连功能 NET_DVR_SetReconnect ............................................................................................... 62
5.2.5 设置接收超时时间 NET_DVR_SetRecvTimeOut .................................................................................. 62
多网卡绑定 ............................................................................................................................................................ 62
5.2.6 获取所有 IP,用于支持多网卡接口 NET_DVR_GetLocalIP ................................................................ 62
5.2.7 设置 IP 绑定 NET_DVR_SetValidIP ........................................................................................................ 63
设备网络 SDK 编程指南
III
SDK 版本、状态和能力 ......................................................................................................................................... 63
5.2.8 获取 SDK 的版本号和 build 信息 NET_DVR_GetSDKBuildVersion ...................................................... 63
5.2.9 获取当前 SDK 的状态信息 NET_DVR_GetSDKState ............................................................................ 63
5.2.10 获取当前 SDK 的功能信息 NET_DVR_GetSDKAbility .......................................................................... 63
SDK 启用写日志 ..................................................................................................................................................... 64
5.2.11 启用写日志文件 NET_DVR_SetLogToFile ............................................................................................. 64
异常消息回调 ........................................................................................................................................................ 64
5.2.12 注册异常消息回调函数 NET_DVR_SetExceptionCallBack_V30 .......................................................... 64
获取错误信息 ........................................................................................................................................................ 67
5.2.13 返回最后操作的错误码 NET_DVR_GetLastError ................................................................................. 67
5.2.14 返回最后操作的错误码信息 NET_DVR_GetErrorMsg ........................................................................ 67
5.3 用户注册 ........................................................................................................................................................ 67
5.3.1 激活设备 NET_DVR_ActivateDevice ..................................................................................................... 67
5.3.2 IPServer 或者 DDNS 域名解析,获取动态 IP 地址和端口号 NET_DVR_GetDVRIPByResolveSvr_EX 67
5.3.3 用户注册设备 NET_DVR_Login_V40 .................................................................................................... 68
5.3.4 用户注销 NET_DVR_Logout .................................................................................................................. 68
5.4 获取设备能力集 ............................................................................................................................................ 69
5.4.1 获取设备能力集 NET_DVR_GetDeviceAbility ...................................................................................... 69
5.4.2 获取设备能力集(标准协议) NET_DVR_GetSTDAbility ........................................................................ 70
5.4.3 获取设备能力集(透传)NET_DVR_STDXMLConfig ................................................................................ 71
5.5 实时预览 ........................................................................................................................................................ 71
5.5.1 实时预览 NET_DVR_RealPlay_V40 ....................................................................................................... 71
5.5.2 停止预览 NET_DVR_StopRealPlay ........................................................................................................ 72
5.5.3 获取预览时用来解码和显示的播放库句柄 NET_DVR_GetRealPlayerIndex ...................................... 72
5.6 强制 I 帧......................................................................................................................................................... 73
5.6.1 强制 I 帧 NET_DVR_RemoteControl ..................................................................................................... 73
5.7 预览显示视频参数配置 ................................................................................................................................ 73
5.7.1 获取预览视频显示参数 NET_DVR_ClientGetVideoEffect ................................................................... 73
5.7.2 获取预览视频显示参数 NET_DVR_GetVideoEffect ............................................................................ 74
5.7.3 设置预览视频显示参数 NET_DVR_ClientSetVideoEffect .................................................................... 74
5.7.4 设置预览视频显示参数 NET_DVR_SetVideoEffect ............................................................................. 74
5.8 预览画面叠加字符和图像 ............................................................................................................................ 75
5.8.1 预览画面叠加字符和图像,Linux 下无此接口 NET_DVR_RigisterDrawFun ..................................... 75
5.9 预览时播放声音控制 .................................................................................................................................... 75
5.9.1 设置声音播放模式 NET_DVR_SetAudioMode ..................................................................................... 75
5.9.2 独占声卡模式下开启声音 NET_DVR_OpenSound .............................................................................. 75
5.9.3 独占声卡模式下开启声音 NET_DVR_CloseSound .............................................................................. 76
5.9.4 共享声卡模式下开启声音 NET_DVR_OpenSoundShare ..................................................................... 76
5.9.5 共享声卡模式下关闭声音 NET_DVR_CloseSoundShare ..................................................................... 76
5.9.6 调节播放音量 NET_DVR_Volume ........................................................................................................ 76
5.10 实时预览数据捕获 ........................................................................................................................................ 77
5.10.1 注册回调函数,捕获实时码流数据 NET_DVR_SetRealDataCallBack ................................................ 77
5.10.2 注册回调函数,捕获实时码流数据(RTP 标准码流)NET_DVR_SetStandardDataCallBack ........... 77
5.10.3 捕获数据并保存到指定的文件中 NET_DVR_SaveRealData ............................................................... 78
设备网络 SDK 编程指南
IV
5.10.4 停止数据捕获 NET_DVR_StopSaveRealData ........................................................................................ 78
5.11 预览抓图 ........................................................................................................................................................ 79
5.11.1 设置抓图模式 NET_DVR_SetCapturePictureMode .............................................................................. 79
5.11.2 预览时,单帧数据捕获并保存成图片 NET_DVR_CapturePicture ..................................................... 79
5.12 设备抓图 ........................................................................................................................................................ 79
5.12.1 单帧数据捕获并保存成 JPEG 图片 NET_DVR_CaptureJPEGPicture ................................................... 79
5.12.2 单帧数据捕获并保存成 JPEG 存放在指定的内存空间中 NET_DVR_CaptureJPEGPicture_NEW ...... 80
5.13 云台控制 ........................................................................................................................................................ 80
云台控制操作 ........................................................................................................................................................ 80
5.13.1 云台控制操作(需先启动图像预览)NET_DVR_PTZControl ............................................................ 80
5.13.2 云台控制操作(不用启动图像预览)NET_DVR_PTZControl_Other ................................................. 81
5.13.3 带速度的云台控制操作(需先启动图像预览)NET_DVR_PTZControlWithSpeed ........................... 82
5.13.4 带速度的云台控制操作(不用启动图像预览)NET_DVR_PTZControlWithSpeed_Other ............... 82
云台预置点操作 .................................................................................................................................................... 83
5.13.5 云台预置点操作,需先启动预览 NET_DVR_PTZPreset ..................................................................... 83
5.13.6 云台预置点操作 NET_DVR_PTZPreset_Other...................................................................................... 83
云台巡航操作 ........................................................................................................................................................ 84
5.13.7 云台巡航操作,需先启动预览 NET_DVR_PTZPCruise ....................................................................... 84
5.13.8 云台巡航操作 NET_DVR_PTZPCruise_Other ........................................................................................ 84
云台花样扫描操作 ................................................................................................................................................ 85
5.13.9 云台花样扫描操作,需先启动预览 NET_DVR_PTZTrack ................................................................... 85
5.13.10 云台花样扫描操作 NET_DVR_PTZTrack_Other ................................................................................... 85
透明云台控制 ........................................................................................................................................................ 86
5.13.11 透明云台操作,需先启动预览 NET_DVR_TransPTZ ........................................................................... 86
5.13.12 透明云台操作 NET_DVR_TransPTZ_Other ........................................................................................... 86
云台区域缩放控制 ................................................................................................................................................ 86
5.13.13 云台图象区域选择放大或缩小 NET_DVR_PTZSelZoomIn .................................................................. 86
5.13.14 云台图像区域选择放大或缩小 NET_DVR_PTZSelZoomIn_Ex ............................................................. 87
获取设备支持的云台协议 .................................................................................................................................... 87
5.13.15 获取设备支持的云台协议 NET_DVR_GetPTZProtocol ........................................................................ 87
5.14 录像文件回放、下载、锁定及备份 ............................................................................................................ 87
获取通道录像起止时间 ........................................................................................................................................ 87
5.14.1 获取通道录像起止时间 NET_DVR_InquiryRecordTimeSpan .............................................................. 87
即时刷新录像索引 ................................................................................................................................................ 88
5.14.2 即时刷新录像索引 NET_DVR_UpdateRecordIndex ............................................................................. 88
月历录像查询 ........................................................................................................................................................ 88
5.14.3 获取月历录像分布 NET_DVR_GetDeviceConfig .................................................................................. 88
录像文件的查找 .................................................................................................................................................... 89
5.14.4 根据文件类型、时间查找设备录像文件 NET_DVR_FindFile_V40 ................................................... 89
5.14.5 逐个获取查找到的文件信息 NET_DVR_FindNextFile_V40 ................................................................ 89
5.14.6 关闭文件查找,释放资源 NET_DVR_FindClose_V30 ........................................................................ 90
按事件查找录像文件 ............................................................................................................................................ 90
5.14.7 根据事件查找录像文件 NET_DVR_FindFileByEvent_V40 ................................................................... 90
5.14.8 逐个获取查找到事件录像信息 NET_DVR_FindNextEvent_V40 ......................................................... 90