iVMS7200SDK接口应用开发说明文档.docx
《iVMS7200SDK接口应用开发说明文档.docx》由会员分享,可在线阅读,更多相关《iVMS7200SDK接口应用开发说明文档.docx(13页珍藏版)》请在冰豆网上搜索。
![iVMS7200SDK接口应用开发说明文档.docx](https://file1.bdocx.com/fileroot1/2022-12/11/698e1c6d-2277-49e4-9bae-e05c70c6c936/698e1c6d-2277-49e4-9bae-e05c70c6c9361.gif)
iVMS7200SDK接口应用开发说明文档
iVMS-7200-SDK接口应用开发
说明文档
3,1,0,33171版
目录
第1章简要概述3
§1.1面向的读者3
§1.2本文宗旨3
§1.3本文目的3
§1.4适用范围3
第2章SDK相关接口说明4
§2.1初始化与注销SDK4
§2.2连接设备与断开设备4
§2.3实时预览开启与关闭5
§2.4订阅报警与取消订阅报警6
§2.5订阅GPS与取消订阅GPS7
§2.6云台控制8
第3章附录9
简要概述
面向的读者
本文面向的读者是软件开发人员,工程人员及相关工作人员。
本文宗旨
本文主要针对iVMS-7200-SDK接口参数作详细说明。
旨在提供开发人员,工程人员以及相关工作人员对iVMS-7200-SDK接口有一个较为清晰的理解,以便日后工作的展开。
本文目的
本文旨在帮助软件开发人员,工程人员及相关工作人员快速理解并利用iVMS-7200-SDK接口进行快速定制开发活动。
本文档目前提供了大部分重要接口说明,更为详细说明将在日后陆续完善。
适用范围
拥有一定开发经验的软件开发人员,工程人员及相关工作人员。
SDK相关接口说明
初始化与注销SDK
IntAlarmInitLib(void)、intPPVInitLib()、intInitRSMClientLib()
函数说明
Function:
AlarmInitLib、PPVInitLib、InitRSMClientLib
Description:
初始化SDK(所有操作之前必须调用)
Input:
Output:
Return:
0:
成功;-1:
失败
IntAlarmFiniLib(void)、intPPVFiniLib(void)、intFiniRSMClientLib(void)
函数说明:
Function:
AlarmFiniLib、PPVFiniLib、FiniRSMClientLib
Description:
注销SDK(所有操作结束后记住调用)
Input:
Output:
Return:
0:
成功;-1:
失败
连接设备与断开设备
typedefvoid(__stdcall*pProgressNotifyCallBack)(unsignedintnUserData,unsignedintnReserved,constchar*pDesc)
回调函数说明:
Function:
pProgressNotifyCallBack
Description:
过程回调函数
Parameters:
nUserData
用户数据
nReserved
保留
pDesc
当前过程描述
Return:
void
IntPPVConnectDeviceByACS(constchar*pszDeviceID,ST_ACCESS_SERVER_INFOstPassbyServer,pProgressNotifyCallBackpfnProgressNotifyUser,unsignedintnUserDataForCallBack,EN_CONN_MODE*pConnMode)
函数说明:
Function:
PPVConnectDeviceByACS
Description:
连接设备
Input:
pszDeviceID
要连接的设备ID
stPassbyServer
设备注册的服务器
pfnProgressNotifyUser
过程回调
nUserDataForCallBack
用户数据,回调时传给回调函数
Output:
pConnMode
指向存放连接类型的地址,函数返回后该地址存放的是连接类型
Return:
>=0:
连接标识
<0:
连接失败
VoidPPVDisConnectDevice(intiDevice)
函数说明:
Function:
PPVDisConnectDevice
Description:
断开连接设备
Input:
iDevice
被连接设备的IP标识(由PPVConnectDeviceByACS得到)
Output:
Return:
实时预览开启与关闭
typedefvoid(__stdcall*pRSMAVDataCallBack)(HSESSIONhSessionID,unsignedintnUsrData,intiDataType,constvoid*pAVData,size_tnAVDataLen)
回调函数说明:
Function:
pRSMAVDataCallBack
Description:
流数据回调函数
Parameters:
hSessionID
会话句柄
iUsrData
用户数据
iDataType
流数据类型(0:
视频数据;1:
视频头)
pAVData
指向流数据缓冲
nAVDataLen
流数据字节数
Return:
Void
HSESSIONPlayRSMAVStreamByTCP(constchar*pszSrvIP,unsignedshortintnSrvPort,constchar*pszPrivate,constST_DEVICE_NETINFO*pDeviceInfo,pRSMAVDataCallBackpfn,unsignedintnUsrData)
函数说明:
Function:
PlayRSMAVStreamByTCP
Description:
实时取流
Input:
pszSrvIP
服务端IP
nSrvPort
服务端端口
pszPrivate
私有串
pDeviceInfo
指向要连接的设备信息
pRSMAVDataCallBack
获取到的视频数据回调函数指针
nUsrData
与流相关的用户数据
Output:
Return:
>=0:
取流成功,即流标识
-1:
失败
VoidStopRSMAVStreamByTCP(HSESSIONhSessionID)
函数说明:
Function:
StopRSMAVStreamByTCP
Description:
停止取流
Input:
hSessionID
流标识(通过PlayRSMAVStreamByTCP得到)
Output:
Return:
订阅报警与取消订阅报警
typedefvoid(__stdcall*pAlarmCallBack)(unsignedintnUserDataForCallBack,unsignedintnReserved,constvoid*pDesc,size_tdwDescLen)
回调函数说明:
Function:
pAlarmCallBack
Description:
报警或者GPS回调函数
Parameters:
nUserDataForCallBack
用户数据ID
nReserved
保留
pDesc
报警或者GPS信息数据
dwDescLen
报警或者GPS信息长度
Return:
void
IntAlarmSubscribe(ST_ALARM_SERVER_INFOstAlarmServerInfo,pAlarmCallBackpfnAlarmCallBack,unsignedintnUserDataForCallBack)
函数说明:
Function:
AlarmSubscribe
Description:
订阅报警
Input:
stAlarmServerInfo
报警服务器的信息
pfnAlarmCallBack
接收报警的回调函数
nUserDataForCallBack
接收报警的回调函数的用户数据
Output:
Return:
>=0代表订阅成功返回的句柄
-1代表失败
VoidAlarmUnSubscribe(intiAlarmUsrID)
函数说明:
Function:
AlarmUnSubscribe
Description:
取消订阅报警
Input:
iAlarmUsrID
订阅报警的返回句柄
Output:
Return:
订阅GPS与取消订阅GPS
IntGPSSubscribe(ST_ALARM_SERVER_INFOstAlarmServerInfo,pAlarmCallBackpfnAlarmCallBack,unsignedintnUserDataForCallBack)
函数说明:
Function:
GPSSubscribe
Description:
订阅GPS
Input:
stAlarmServerInfo
报警服务器的信息
pfnAlarmCallBack
接收GPS的回调函数
nUsrData
用户参数
Output:
Return:
>=0代表订阅成功返回的句柄
-1代表失败
VoidGPSUnSubscribe(intiAlarmUsrID)
函数说明:
Function:
GPSUnSubscribe
Description:
取消订阅GPS
Input:
iAlarmUsrID
订阅GPS的返回句柄
Output:
Return:
云台控制
VoidPPVPTZControl(intiDevice,intiChan,intiPTZCommand,intiAction,intiSpeed)
函数说明:
Function:
PPVPTZControl
Description:
云台控制
Input:
iDevice
设备标识
iChan
通道号,从1开始
iPTZCommand
云台控制的命令代号
iAction
云台启停,0停止1启动
iSpeed
云台运动的速度
Output:
Return:
0:
代表成功
<0:
代表失败
订阅设备上下线通知与取消订阅
typedefvoid(__stdcall*pNotifyCallBack)(intiNotifySubsribeID,constvoid*pNotifyBuffer,size_tdwNotifySize,unsignedintnUserDataForCallBack,unsignedintnReserved);
回调函数说明:
Function:
pNotifyCallBack
Description:
通知信息回调,主要是设备上下线信息
Parameters:
iNotifySubsribeID
订阅标识,唯一性
pNotifyBuffer
通知信息,主要是设备上下线信息,参考格式:
--设备ID-->
test
--On:
在线或者上线,Off:
不在线或者掉线-->
On
dwNotifySize
信息长度
nUserDataForCallBack
用户数据
nReserved
扩展字段
Return:
Void
intPPVNotifySubscribe(ST_ACCESS_SERVER_INFOstPassbyServer,pNotifyCallBackpfnNotifyCallBack,unsignedintnUserDataForCallBack);
函数说明:
Function:
PPVNotifySubscribe
Description:
通知信息订阅,包括设备上下线
Input:
stPassbyServer
注册服务器信息
pfnNotifyCallBack
消息回调,主要是设备上下线信息回调
nUserDataForCallBack
用户数据
Output:
Return:
>=0代表订阅成功返回的标识
<0代表失败
注:
每个注册服务器只需要订阅一次,不需要重复订阅
voidPPVNotifyUnSubscribe(intiNotifySubsribeID);
函数说明:
Function:
PPVNotifyUnSubscribe
Description:
取消通知信息订阅
Input:
iNotifySubsribeID
订阅标识,PPVNotifySubscribe成功返回值
Output:
Return:
void
获取设备在线状态
intPPVGetDeviceInfoOnServer(constchar*pszDeviceID,ST_ACCESS_SERVER_INFOstPassbyServer,ST_DEVICEINFO_ONSERVER*pSTDeviceStatus);
函数说明:
Function:
PPVGetDeviceInfoOnServer
Description:
获取设备在注册服务器上状态信息
Input:
pszDeviceID
设备注册ID
stPassbyServer
注册服务器信息
Output:
pSTDeviceStatus:
状态信息,xml类型格式
Return:
0代表获取成功;<0代表失败
获取设备工作状态
intPPVGetDeviceWorkStatus(intiDevice,char*pszDeviceStatusXML,size_t*nBufferSize);
函数说明:
Function:
PPVGetDeviceWorkStatus
Description:
获取设备工作状态
Input:
iDevice
设备标识
Output:
pszDeviceStatusXML
工作状态信息
参考格式:
--设备状态,0-正常,1-CPU占用率太高,超过%,2-硬件错误,例如串口死掉-->
0
--CPU:
CPU利用率:
0~100代表0%~100%-->
20
--Mem:
内存利用率:
0~100代表0%~100%-->
25
--用一串字符串表示多个信息,用“-”分割:
硬盘号-硬盘容量(MB)-硬盘剩余空间(MB)-硬盘状态:
-活动;-休眠(idle状态);-不正常-->
1-60000-30000-0
2-60-30-0/1/2
--数据格式:
通道号-录像状态(0:
不录像1:
录像)-视频连接信号状态(0:
正常;1:
视频信号丢失)-通道编码状态(0:
正常;1:
异常)-实际码率(kbps)-客户端连接数目-->
1-0-0-0-256-1
2-0-0-0-256-1
--AlarmInStatus:
报警输入通道状态,填入数字对应该报警输入通道有报警,用逗号进行分割否则没有报警-->
1,2,3,6,8
--AlarmOutStatus:
报警输出通道状态,填入数字对应该报警输出通道有输出,用逗号进行分割,否则没有输出-->
1,2,3,4,7,16
--LocalDisplayStatus:
本地显示状态,0-正常,1-不正常-->
1
nBufferSize
信息长度
Return:
0:
代表成功
<0:
代表失败
附录
头文件
相应常用接口
libPPVClient.h
PPVInitLib、PPVFiniLib、PPVPTZControl、PPVDisConnectDevice、PPVConnectDeviceByACS、
pProgressNotifyCallBack、
PPVGetDeviceWorkStatus、
PPVGetDeviceInfoOnServer、PPVNotifyUnSubscribe、PPVNotifySubscribe
libAlarmClient.h
AlarmInitLib、AlarmFiniLib、GPSSubscribe、GPSUnSubscribe、AlarmUnSubscribe、AlarmSubscribe、
pAlarmCallBack
libRSMClient.h
InitRSMClientLib、FiniRSMClientLib、StopRSMAVStreamByTCP、PlayRSMAVStreamByTCP、
pRSMAVDataCallBack
备注:
所有接口函数以及结构体详细信息,请查看头文件(libPPVClient.h/libAlarmClient.h/libRSMClient.h)中说明。