设备(IPC)
网络 SDK编程指南
V5.1
设备网络 SDK编程指南
I
声 明
非常感谢您购买我公司的产品,如果您有什么疑问或需要请随时联系我们。
我们已尽量保证手册内容的完整性与准确性,但也不免出现技术上不准确、与产品功能及操作不相符
或印刷错误等情况,如有任何疑问或争议,请以我司最终解释为准。
产品和手册将实时进行更新,恕不另行通知。
本手册中内容仅为用户提供参考指导作用,请以 SDK实际内容为准。
设备网络 SDK编程指南
II
目 录
声 明 ...................................................................................................................................................................................................... I
目 录 ..................................................................................................................................................................................................... II
1 SDK简介 ........................................................................................................................................................................................ 1
2 SDK版本更新 ................................................................................................................................................................................. 4
3 函数调用顺序 .............................................................................................................................................................................. 26
3.1 SDK基本调用的主要流程 ........................................................................................................................................... 26
3.2 实时预览模块流程 ...................................................................................................................................................... 28
3.3 回放和下载模块流程 .................................................................................................................................................. 29
3.4 参数配置模块流程 ...................................................................................................................................................... 30
3.5 远程设备维护模块流程 .............................................................................................................................................. 31
3.6 语音对讲转发模块流程 .............................................................................................................................................. 32
3.7 报警模块流程 .............................................................................................................................................................. 33
3.7.1 报警(布防)流程 ............................................................................................................................................. 33
3.7.2 报警(监听)流程 ............................................................................................................................................. 34
3.8 透明通道模块流程 ...................................................................................................................................................... 35
4 函数调用实例 .............................................................................................................................................................................. 36
4.1 预览模块的示例代码 .................................................................................................................................................. 36
4.2 回放和下载模块的示例代码 ...................................................................................................................................... 41
4.3 参数配置模块的示例代码 .......................................................................................................................................... 48
4.4 远程设备维护模块的示例代码 .................................................................................................................................. 50
4.5 语音对讲转发模块的示例代码 .................................................................................................................................. 52
4.6 报警模块的示例代码 .................................................................................................................................................. 54
4.7 透明通道模块的示例代码 .......................................................................................................................................... 58
5 函数说明 ...................................................................................................................................................................................... 61
5.1 SDK初始化 .................................................................................................................................................................. 61
5.1.1 初始化 SDK NET_DVR_Init .................................................................................................................................. 61
5.1.2 释放 SDK资源 NET_DVR_Cleanup ..................................................................................................................... 61
5.2 SDK本地功能 .............................................................................................................................................................. 61
SDK本地参数配置 ............................................................................................................................................................. 61
5.2.1 获取 SDK本地参数 NET_DVR_GetSDKLocalCfg ................................................................................................. 61
5.2.2 设置 SDK本地参数 NET_DVR_SetSDKLocalCfg .................................................................................................. 62
连接和接收超时时间及重连设置 ..................................................................................................................................... 63
5.2.3 设置网络连接超时时间和连接尝试次数 NET_DVR_SetConnectTime ............................................................ 63
5.2.4 设置重连功能 NET_DVR_SetReconnect............................................................................................................. 63
5.2.5 设置接收超时时间 NET_DVR_SetRecvTimeOut ................................................................................................ 63
多网卡绑定 ......................................................................................................................................................................... 63
5.2.6 获取所有 IP,用于支持多网卡接口 NET_DVR_GetLocalIP .............................................................................. 63
5.2.7 设置 IP 绑定 NET_DVR_SetValidIP ..................................................................................................................... 64
SDK版本、状态和能力 ...................................................................................................................................................... 64
5.2.8 获取 SDK的版本号和 build 信息 NET_DVR_GetSDKBuildVersion .................................................................... 64
5.2.9 获取当前 SDK的状态信息 NET_DVR_GetSDKState .......................................................................................... 64
III
设备网络 SDK编程指南
5.2.10 获取当前 SDK的功能信息 NET_DVR_GetSDKAbility ........................................................................................ 65
SDK启用写日志 ................................................................................................................................................................. 65
5.2.11 启用写日志文件 NET_DVR_SetLogToFile .......................................................................................................... 65
异常消息回调 ..................................................................................................................................................................... 65
5.2.12 注册异常消息回调函数 NET_DVR_SetExceptionCallBack_V30 ........................................................................ 65
获取错误信息 ..................................................................................................................................................................... 67
5.2.13 返回最后操作的错误码 NET_DVR_GetLastError............................................................................................... 67
5.2.14 返回最后操作的错误码信息 NET_DVR_GetErrorMsg ...................................................................................... 68
5.3 用户注册 ...................................................................................................................................................................... 68
5.3.1 激活设备 NET_DVR_ActivateDevice ................................................................................................................... 68
5.3.2 IPServer 或者 DDNS域名解析,获取动态 IP 地址和端口号 NET_DVR_GetDVRIPByResolveSvr_EX .............. 68
5.3.3 用户注册设备 NET_DVR_Login_V40 .................................................................................................................. 69
5.3.4 用户注销 NET_DVR_Logout ............................................................................................................................... 69
5.4 获取设备能力集 .......................................................................................................................................................... 69
5.4.1 获取设备能力集 NET_DVR_GetDeviceAbility .................................................................................................... 69
5.4.2 获取设备能力集 NET_DVR_GetSTDAbility ....................................................................................................... 72
5.5 实时预览 ...................................................................................................................................................................... 73
5.5.1 实时预览 NET_DVR_RealPlay_V40 ..................................................................................................................... 73
5.5.2 停止预览 NET_DVR_StopRealPlay ...................................................................................................................... 74
5.5.3 获取预览时用来解码和显示的播放库句柄 NET_DVR_GetRealPlayerIndex .................................................... 74
5.6 强制 I 帧和刷新帧 ....................................................................................................................................................... 74
5.6.1 强制 I 帧 NET_DVR_RemoteControl ................................................................................................................... 74
5.6.2 强制刷新帧 (Smart264) NET_DVR_STDControl ................................................................................................... 75
5.7 预览显示视频参数配置 .............................................................................................................................................. 75
5.7.1 获取预览视频显示参数 NET_DVR_ClientGetVideoEffect ................................................................................. 75
5.7.2 获取预览视频显示参数 NET_DVR_GetVideoEffect .......................................................................................... 76
5.7.3 设置预览视频显示参数 NET_DVR_ClientSetVideoEffect .................................................................................. 76
5.7.4 设置预览视频显示参数 NET_DVR_SetVideoEffect ........................................................................................... 76
5.8 预览画面叠加字符和图像 ..........................................................................................................................................77
5.8.1 预览画面叠加字符和图像, Linux 下无此接口 NET_DVR_RigisterDrawFun ...................................................77
5.9 预览时播放声音控制 ..................................................................................................................................................77
5.9.1 设置声音播放模式 NET_DVR_SetAudioMode ...................................................................................................77
5.9.2 独占声卡模式下开启声音 NET_DVR_OpenSound ............................................................................................ 78
5.9.3 独占声卡模式下开启声音 NET_DVR_CloseSound ............................................................................................ 78
5.9.4 共享声卡模式下开启声音 NET_DVR_OpenSoundShare ................................................................................... 78
5.9.5 共享声卡模式下关闭声音 NET_DVR_CloseSoundShare ................................................................................... 78
5.9.6 调节播放音量 NET_DVR_Volume ...................................................................................................................... 79
5.10 实时数据回调和录像 .................................................................................................................................................. 79
5.10.1 注册回调函数,捕获实时码流数据 NET_DVR_SetRealDataCallBack .............................................................. 79
5.10.2 注册回调函数,捕获实时码流数据(标准码流) NET_DVR_SetStandardDataCallBack ................................ 80
5.10.3 捕获数据并保存到指定的文件中 NET_DVR_SaveRealData ............................................................................. 80
5.10.4 停止数据捕获 NET_DVR_StopSaveRealData ...................................................................................................... 81
5.11 预览抓图 ...................................................................................................................................................................... 81
5.11.1 设置抓图模式 NET_DVR_SetCapturePictureMode ............................................................................................ 81
IV
设备网络 SDK编程指南
5.11.2 预览时,单帧数据捕获并保存成图片 NET_DVR_CapturePicture ................................................................... 81
5.12 设备抓图 ...................................................................................................................................................................... 82
5.12.1 单帧数据捕获并保存成 JPEG图片 NET_DVR_CaptureJPEGPicture ................................................................. 82
5.12.2 单帧数据捕获并保存成 JPEG存放在指定的内存空间中 NET_DVR_CaptureJPEGPicture_NEW .................... 82
5.13 远程参数配置 .............................................................................................................................................................. 83
通用参数配置 ..................................................................................................................................................................... 83
5.13.1 获取基本参数 NET_DVR_GetDVRConfig ............................................................................................................ 83
5.13.2 设置基本参数 NET_DVR_SetDVRConfig ............................................................................................................ 84
5.13.3 获取通道参数 NET_DVR_GetDVRConfig ............................................................................................................ 84
5.13.4 设置通道参数 NET_DVR_SetDVRConfig ............................................................................................................ 85
5.13.5 获取网络参数 NET_DVR_GetDVRConfig ............................................................................................................ 86
5.13.6 设置网络参数 NET_DVR_SetDVRConfig ............................................................................................................ 87
5.13.7 获取高级参数 NET_DVR_GetDVRConfig ............................................................................................................ 88
5.13.8 设置高级参数 NET_DVR_SetDVRConfig ............................................................................................................ 89
标准协议参数配置 ............................................................................................................................................................. 90
5.13.9 获取设备参数 NET_DVR_GetSTDConfig ............................................................................................................ 90
5.13.10 设置设备参数 NET_DVR_SetSTDConfig ............................................................................................................. 90
批量参数配置 ..................................................................................................................................................................... 91
5.13.11 批量获取配置信息 NET_DVR_GetDeviceConfig ................................................................................................ 91
5.13.12 批量设置配置信息 NET_DVR_SetDeviceConfig ................................................................................................. 92
长连接参数配置 ................................................................................................................................................................. 93
5.13.13 启动长连接远程配置 NET_DVR_StartRemoteConfig ........................................................................................ 93
5.13.14 关闭长连接配置接口所创建的句柄,释放资源 NET_DVR_StopRemoteConfig ............................................. 94
远程控制 .......................................................................................................................................................................... 94
5.13.15 远程控制 NET_DVR_RemoteControl .................................................................................................................. 94
5.13.16 远程控制 (标准协议 ) NET_DVR_STDControl ...................................................................................................... 95
报警输出配置 ..................................................................................................................................................................... 95
5.13.17 获取设备报警输出 NET_DVR_GetAlarmOut_V30 ............................................................................................. 95
5.13.18 设置设备报警输出 NET_DVR_SetAlarmOut ...................................................................................................... 95
RTSP协议参数配置 ............................................................................................................................................................ 96
5.13.19 获取 RTSP协议参数 NET_DVR_GetRtspConfig .................................................................................................. 96
5.13.20 设置 RTSP协议参数 NET_DVR_SetRtspConfig .................................................................................................. 96
5.14 SMART参数配置 ......................................................................................................................................................... 96
参数配置 .......................................................................................................................................................................... 96
5.14.1 获取设备的配置信息 NET_DVR_GetDVRConfig ................................................................................................ 96
5.14.2 设置设备的配置信息 NET_DVR_SetDVRConfig ................................................................................................. 97
5.14.3 获取设备的配置信息 (标准协议 )NET_DVR_GetSTDConfig ............................................................................... 98
5.14.4 获取设备的配置信息 (标准协议 )NET_DVR_SetSTDConfig .............................................................................. 101
批量参数配置 ................................................................................................................................................................... 104
5.14.5 批量获取配置信息 NET_DVR_GetDeviceConfig .............................................................................................. 104
5.14.6 批量设置配置信息 NET_DVR_SetDeviceConfig ............................................................................................... 106
长连接参数配置 ............................................................................................................................................................... 108
5.14.7 启动长连接远程配置 NET_DVR_StartRemoteConfig ...................................................................................... 108
5.14.8 逐个获取查找到的信息 NET_DVR_GetNextRemoteConfig ............................................................................. 109