接口应用开发
说明文档
3,1,0,33171版iVMS-7200-SDK
目录
第1章 简要概述 ............................................................................................................................. 3
§1.1 面向的读者 ...................................................................................................................... 3 §1.2 本文宗旨 .......................................................................................................................... 3 §1.3 本文目的 .......................................................................................................................... 3 §1.4 适用范围 .......................................................................................................................... 3 第2章 SDK相关接口说明 ............................................................................................................. 4
§2.1 初始化与注销SDK .......................................................................................................... 4 §2.2 连接设备与断开设备 ...................................................................................................... 4 §2.3 实时预览开启与关闭 ...................................................................................................... 5 §2.4 订阅报警与取消订阅报警 .............................................................................................. 6 §2.5 订阅GPS与取消订阅GPS .............................................................................................. 7 §2.6 云台控制 .......................................................................................................................... 8 第3章 附录................................................................................................................................... 12
第1章 简要概述
§1.1 面向的读者
本文面向的读者是软件开发人员,工程人员及相关工作人员。
§1.2 本文宗旨
本文主要针对iVMS-7200-SDK接口参数作详细说明。旨在提供开发人员,工程人员以及相关工作人员对iVMS-7200-SDK接口有一个较为清晰的理解,以便日后工作的展开。
§1.3 本文目的
本文旨在帮助软件开发人员,工程人员及相关工作人员快速理解并利用iVMS-7200-SDK接口进行快速定制开发活动。本文档目前提供了大部分重要接口说明,更为详细说明将在日后陆续完善。
§1.4 适用范围
拥有一定开发经验的软件开发人员,工程人员及相关工作人员。
第2章 SDK相关接口说明
§2.1 初始化与注销SDK
Int AlarmInitLib( void )、int PPVInitLib()、int InitRSMClientLib() 函数说明
Function: AlarmInitLib、PPVInitLib、InitRSMClientLib Description:初始化SDK(所有操作之前必须调用) Input: Output: Return:
0:成功;-1:失败
Int AlarmFiniLib( void )、int PPVFiniLib(void)、int FiniRSMClientLib(void) 函数说明:
Function: AlarmFiniLib、PPVFiniLib、FiniRSMClientLib Description: 注销SDK(所有操作结束后记住调用) Input: Output: Return:
0:成功;-1:失败
§2.2 连接设备与断开设备
typedef void(__stdcall * pProgressNotifyCallBack)(unsigned int nUserData, unsigned int nReserved, const char *pDesc) 回调函数说明:
Function: pProgressNotifyCallBack Description: 过程回调函数 Parameters: nUserData nReserved pDesc 用户数据 保留 当前过程描述 Return: void
Int PPVConnectDeviceByACS( const char* pszDeviceID,
ST_ACCESS_SERVER_INFO stPassbyServer, pProgressNotifyCallBack
pfnProgressNotifyUser, unsigned int nUserDataForCallBack, EN_CONN_MODE* pConnMode ) 函数说明:
Function: PPVConnectDeviceByACS Description:连接设备 Input: pszDeviceID stPassbyServer pfnProgressNotifyUser nUserDataForCallBack 要连接的设备ID 设备注册的服务器 过程回调 用户数据,回调时传给回调函数 Output: pConnMode 指向存放连接类型的地址,函数返回后该地址存放的是连接类型 Return: >=0:连接标识 <0:连接失败
Void PPVDisConnectDevice( int iDevice ) 函数说明:
Function: PPVDisConnectDevice Description:断开连接设备 Input: iDevice 被连接设备的IP标识(由PPVConnectDeviceByACS得到) Output: Return:
§2.3 实时预览开启与关闭
typedef void(__stdcall * pRSMAVDataCallBack)(HSESSION hSessionID, unsigned int nUsrData, int iDataType, const void *pAVData, size_t nAVDataLen) 回调函数说明:
Function: pRSMAVDataCallBack Description:流数据回调函数 Parameters: hSessionID iUsrData 会话句柄 用户数据 iDataType pAVData nAVDataLen 流数据类型(0:视频数据;1:视频头) 指向流数据缓冲 流数据字节数 Return: Void
HSESSION PlayRSMAVStreamByTCP( const char* pszSrvIP,unsigned short int nSrvPort, const char* pszPrivate,const ST_DEVICE_NETINFO* pDeviceInfo, pRSMAVDataCallBack pfn, unsigned int nUsrData )
函数说明:
Function: PlayRSMAVStreamByTCP Description:实时取流 Input: pszSrvIP nSrvPort pszPrivate pDeviceInfo pRSMAVDataCallBack nUsrData 服务端IP 服务端端口 私有串 指向要连接的设备信息 获取到的视频数据回调函数指针 与流相关的用户数据 Output: Return:
>=0:取流成功,即流标识 -1:失败
Void StopRSMAVStreamByTCP( HSESSION hSessionID ) 函数说明:
Function: StopRSMAVStreamByTCP Description:停止取流 Input: hSessionID 流标识(通过PlayRSMAVStreamByTCP得到) Output: Return:
§2.4 订阅报警与取消订阅报警
typedef void(__stdcall * pAlarmCallBack)(unsigned int nUserDataForCallBack, unsigned int nReserved, const void *pDesc, size_t dwDescLen) 回调函数说明:
Function: pAlarmCallBack
Description:报警或者GPS回调函数 Parameters: nUserDataForCallBack nReserved pDesc dwDescLen 用户数据ID 保留 报警或者GPS信息数据 报警或者GPS信息长度 Return: void
Int AlarmSubscribe( ST_ALARM_SERVER_INFO stAlarmServerInfo, pAlarmCallBack pfnAlarmCallBack, unsigned int nUserDataForCallBack ) 函数说明:
Function: AlarmSubscribe Description:订阅报警 Input: stAlarmServerInfo 报警服务器的信息 pfnAlarmCallBack 接收报警的回调函数 nUserDataForCallBack 接收报警的回调函数的用户数据 Output: Return:
>=0代表订阅成功返回的句柄 -1代表失败
Void AlarmUnSubscribe( int iAlarmUsrID ) 函数说明:
Function: AlarmUnSubscribe Description:取消订阅报警 Input: iAlarmUsrID 订阅报警的返回句柄 Output: Return:
§2.5 订阅GPS与取消订阅GPS
Int GPSSubscribe( ST_ALARM_SERVER_INFO stAlarmServerInfo,
pAlarmCallBack pfnAlarmCallBack, unsigned int nUserDataForCallBack ) 函数说明:
Function: GPSSubscribe Description:订阅GPS Input: stAlarmServerInfo 报警服务器的信息 pfnAlarmCallBack 接收GPS的回调函数 nUsrData 用户参数 Output: Return:
>=0代表订阅成功返回的句柄 -1代表失败
Void GPSUnSubscribe( int iAlarmUsrID ) 函数说明:
Function: GPSUnSubscribe
Description:取消订阅GPS Input: iAlarmUsrID 订阅GPS的返回句柄 Output: Return:
§2.6 云台控制
Void PPVPTZControl( int iDevice, int iChan, int iPTZCommand, int iAction, int iSpeed ) 函数说明:
Function: PPVPTZControl Description:云台控制 Input: iDevice iChan iPTZCommand iAction iSpeed 设备标识 通道号,从1开始 云台控制的命令代号 云台启停,0停止1启动 云台运动的速度 Output: Return:
0:代表成功 <0:代表失败
§2.7 订阅设备上下线通知与取消订阅
typedef void (__stdcall *pNotifyCallBack)( int iNotifySubsribeID, const void* pNotifyBuffer, size_t dwNotifySize, unsigned int nUserDataForCallBack, unsigned int nReserved ); 回调函数说明:
Function: pNotifyCallBack
Description:通知信息回调,主要是设备上下线信息 Parameters: iNotifySubsribeID pNotifyBuffer 订阅标识,唯一性 通知信息,主要是设备上下线信息,参考格式:
int PPVNotifySubscribe( ST_ACCESS_SERVER_INFO stPassbyServer, pNotifyCallBack pfnNotifyCallBack, unsigned int nUserDataForCallBack ); 函数说明:
Function: PPVNotifySubscribe
Description: 通知信息订阅,包括设备上下线 Input: 注册服务器信息 pfnNotifyCallBack 消息回调 ,主要是设备上下线信息回调 nUserDataForCall用户数据 stPassbyServer Back Output: Return:
>=0代表订阅成功返回的标识 <0代表失败
注:每个注册服务器只需要订阅一次,不需要重复订阅
void PPVNotifyUnSubscribe( int iNotifySubsribeID ); 函数说明:
Function: PPVNotifyUnSubscribe Description: 取消通知信息订阅 Input: iNotifySubsribe订阅标识,PPVNotifySubscribe成功返回值 ID Output: Return:void
§2.8 获取设备在线状态
int PPVGetDeviceInfoOnServer( const char* pszDeviceID, ST_ACCESS_SERVER_INFO stPassbyServer, ST_DEVICEINFO_ONSERVER* pSTDeviceStatus ); 函数说明:
Function: PPVGetDeviceInfoOnServer
Description:获取设备在注册服务器上状态信息 Input: 设备注册ID pszDeviceID stPassbyServer 注册服务器信息 Output:
pSTDeviceStatus:状态信息,xml类型格式 Return:
0代表获取成功;<0代表失败
§2.9 获取设备工作状态
int PPVGetDeviceWorkStatus( int iDevice, char* pszDeviceStatusXML, size_t* nBufferSize ); 函数说明:
Function: PPVGetDeviceWorkStatus Description:获取设备工作状态 Input: iDevice 设备标识 工作状态信息 参考格式: < DeviceStatusXML >
第3章 附录
相应常用接口 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)中说明。
头文件 libPPVClient.h
因篇幅问题不能全部显示,请点此查看更多更全内容