iVMS-8800 平台 SDK 说明 
 
 
目录 
1 
2 
2.2 
2.3 
2.4 
2.6 
2.5 
iVMS-8800 平台 SDK 简介 ..................................................................................................... 3 
iVMS-8800 平台接口详细说明 ............................................................................................... 4 
初始化和资源释放 ..................................................................................................... 4 
2.1 
2.1.1  初始化资源 ...................................................................................................... 4 
2.1.2  释放资源 .......................................................................................................... 4 
用户登录、退出 ......................................................................................................... 4 
2.2.1  用户登录 .......................................................................................................... 4 
2.2.2  退出登录 .......................................................................................................... 4 
获取错误信息 ............................................................................................................. 5 
数据集查询、遍历(设备列表、录像文件等) ..................................................... 5 
2.4.1  设备查询 .......................................................................................................... 5 
2.4.2  获取权限接口 .................................................................................................. 5 
2.4.3  录像文件查询 .................................................................................................. 6 
2.4.4  游标向后移动 .................................................................................................. 6 
2.4.5  获取查询信息字符串属性 .............................................................................. 6 
2.4.6  获取查询信息整形属性 .................................................................................. 7 
浏览实时视频 ............................................................................................................. 7 
2.5.1  查询实时流 URL ............................................................................................. 7 
2.5.2  播放实时视频 .................................................................................................. 7 
2.5.3  停止实时视频 .................................................................................................. 8 
云镜控制 ..................................................................................................................... 9 
2.6.1  云镜控制 .......................................................................................................... 9 
视频参数获取、设置 ................................................................................................. 9 
2.7.1  视频参数获取 .................................................................................................. 9 
打开、关闭视频声音 ............................................................................................... 10 
2.8.1  打开视频声音 ................................................................................................ 10 
2.8.2  关闭视频声音 ................................................................................................ 10 
获取预览、回放控件取流 XML ............................................................................. 11 
2.9.1  查询预览控件取流 xml ................................................................................. 11 
2.9.2  查询预览控件取流 xml ................................................................................. 11 
2.9.3  查询回放控件取流的 xml ............................................................................. 11 
2.9.4  查询回放控件取流的 xml ............................................................................. 12 
2.10  录像回放、下载 ....................................................................................................... 12 
2.10.1  播放控制 ........................................................................................................ 12 
2.10.2  开始文件下载 ................................................................................................ 13 
2.10.3  停止文件下载 ................................................................................................ 13 
2.10.4  获取文件回放、下载百分比 ........................................................................ 14 
2.11  开启、停止手动录像 ............................................................................................... 14 
2.12  本地抓图、录像 ....................................................................................................... 14 
2.12.1  视频抓图 ........................................................................................................ 14 
2.12.2  开始本地录像 ................................................................................................ 15 
2.12.3  停止本地录像 ................................................................................................ 15 
2.7 
2.8 
2.9 
 
2.13  对讲 ........................................................................................................................... 15 
2.13.1  开始对讲 ........................................................................................................ 15 
2.13.2  停止对讲 ........................................................................................................ 15 
2.14  报警控制 ................................................................................................................... 16 
2.14.1  报警输出控制 ................................................................................................ 16 
2.14.2  获取报警输出当前状态 ................................................................................ 16 
2.14.3  订阅报警 ........................................................................................................ 16 
2.14.4  取消订阅报警 ................................................................................................ 17 
2.15  环境量实时数据 ....................................................................................................... 17 
2.15.1  订阅实时数据 ................................................................................................ 17 
2.15.2  取消订阅实时数据 ........................................................................................ 18 
iVMS-8800 平台数据定义 ..................................................................................................... 19 
属性定义 ................................................................................................................... 19 
3.1 
云台控制参数说明 ................................................................................................... 21 
错误码定义 ............................................................................................................... 21 
权限说明 ................................................................................................................... 22 
结构体定义 ............................................................................................................... 22 
3.5.1  资源类型 ........................................................................................................ 22 
3.5.2  回放命令定义 ................................................................................................ 23 
3.5.3  巡航结构体定义 ............................................................................................ 23 
iVMS-8800 平台编程引导 ..................................................................................................... 24 
登录退出流程 ........................................................................................................... 24 
4.1 
资源查询流程 ........................................................................................................... 24 
实时预览流程 ........................................................................................................... 26 
回放下载流程 ........................................................................................................... 27 
3.5 
4.2 
4.3 
4.4 
3.2 
3.3 
3.4 
3 
4 
 
 
1  iVMS-8800 平台 SDK 简介 
        iVMS-8800 平台 SDK 与 iVMS-8800 平台配套使用,其功能主要是调用者从 iVMS-8800
平台获取数据资源,然后利用 SDK 提供的外部接口,以一定的调用流程实现实时监控、录
像回放下载、云镜控制以及获取环境量数据和报警数据等诸多功能。同时,本 SDK 可以辅
助 iVMS-8800 平台的预览和回放控件使用,即第三方平台集成预览和回放控件时,通过本
SDK 从平台中获取某监控点的预览或回放 XML 数据,然后将 XML 数据写入预览和回放控件
对应的接口,实现实时预览和录像回放的功能,这种方式尤其适合于 web 开发环境。第三
方开发人员使用 iVMS-8800SDK 前请务必仔细阅读本文档,本文档不仅提供了接口以及数据
的详细说明,还提供了调用流程和示例代码,将为您的开发提供极大的方便。   
 
2  iVMS-8800 平台接口详细说明 
2.1  初始化和资源释放 
Plat_Init 
2.1.1  初始化资源 
1.1 
函数名称 
功能描述 
参数说明 
返回值 
备注 
int Plat_Init() 
初始化平台接口 
无 
成功返回 0,错误时返回-1 
初始化接口只需调用一次,在调用任何接口前,必须调用  Plat_Init 完
成初始化工作。 
 
 
2.1.2  释放资源 
1.2 
Plat_Free 
函数名称 
功能描述 
参数说明 
返回值 
备注 
 
int Plat_Free() 
资源释放接口,关闭所有的连接 
无 
成功时返回 0  错误时返回-1 
释放资源,全局只调用一次。 
2.2  用户登录、退出 
2.2.1  用户登录 
1.3 
函数名称 
 
功能描述 
参数说明 
返回值 
备注 
int Plat_LoginCMS(const char *  csCmsIp, 
const int     iCmsPort, 
const char *  csUserName, 
const char *  csPSW) 
登录到指定平台 
cscmsIp 
ncmsPort 
iVMS-8800 中心管理服务器地址(如  “172.7.150.2”) 
iVMS-8800 中心管理服务器端口(默认 80) 
用户密码 
csUserName  用户名 
csPSW 
>0  成功,返回一个全局的会话句柄,错误时返回-1 
1.该接口只需调用一次,在调用完 Plat_Init()后调用该接口完成用户登
录 iVMS-8800 平台工作; 
2.如果平台 SDK 与 iVMS-8800 平台运行在同一 IP 地址的计算机,cscmsIp
请勿为 127.0.0.1 
 
2.2.2  退出登录 
1.4 
Plat_LogoutCMS 
 
函数名称 
功能描述 
参数说明 
返回值 
备注 
 
int Plat_LogoutCMS (int iUserhandle) 
退出登录 
iUserhandle 
成功时返回 0  错误时返回-1 
该接口只需调用一次,在 Plat_Free 调用前调用该接口完成用户登出
iVMS-8800 平台工作 
Plat_LoginCMS  返回的句柄 
2.3  获取错误信息 
Plat_GetLastError 
1.5 
函数名称 
功能描述 
参数说明 
返回值 
备注 
int Plat_GetLastError() 
获取错误信息 
无 
成功时返回 0  错误时返回错误码 
错误码定义见附表 
 
2.4  数据集查询、遍历(设备列表、录像文件等) 
2.4.1  设备查询 
1.6 
函数名称 
Plat_ QueryResource 
int Plat_QueryResource(int iResourceType, 
int  iUserHandle) 
功能描述 
参数说明 
查询用户有权限的所有指定类型的设备信息 
iResourceType  设备类型 
0x00,        中心 
0x01,        区域 
0x02,        设备   
0x03,        摄像头 
0x04,        报警输入 
0x05 ,        报警输出 
0x06 ,        录像文件 
0x07,        环境量 
Plat_LoginCMS  返回的句柄 
iUserHandle 
成功时返回 0  错误时返回-1 
查询成功后使用  MoveNext(),  GetValueStr(),  GetValueInt()逐条获取
设备信息 
返回值 
备注 
 
 
2.4.2  获取权限接口 
1.7 
函数名称 
Plat_ QueryPrivilege 
int Plat_QueryPrivilege(const char * csResourceID, 
const char * csPrivilegeCode, 
int iUserHandle) 
 
功能描述 
参数说明 
返回值 
备注 
查询用户对指定设备的权限 
csResourceID 
设备 ID 
csPrivilegeCode  权限代码 
iUserHandle 
有权限返回 1    无权限返回 0 
权限代码的定义见附表 
Plat_LoginCMS  返回的句柄 
 
2.4.3  录像文件查询 
1.8 
函数名称 
Plat_QueryRecordFile 
int Plat_QueryRecordFile(const char* 
csCameraID, 
const long     lStartTime, 
const long     lEndtime,  
const char*    csRecordType, 
const char* 
csQueryCondition 
iUserHandle) 
int 
 
 
功能描述 
参数说明 
返回值 
备注 
查询指定监控点某一时间段内的录像文件信息 
csCameraID 
lStartTime 
lEndtime 
csRecordType 
监控点 ID 
查询录像的开始时间(标准时间换算为秒的数值) 
查询录像的结束时间(标准时间换算为秒的数值) 
录像类型  1 计划录像,  2 移动侦测,  4 手动录像,  16
报警录像 
csQueryCondition  查询条件 
iUserHandle 
0 为 IPSAN,    1 为设备,    2 为 PCNVR,    3 为 ENVR 
Plat_LoginCMS  返回的句柄 
成功时返回 0  错误时返回-1 
查询成功后使用  MoveNext(),  GetValueStr(),  GetValueInt()逐条获取
录像信息(录像片段的  开始时间  结束时间  录像URL)   
 
2.4.4  游标向后移动 
1.9 
Plat_MoveNext 
函数名称 
功能描述 
参数说明 
返回值 
备注 
int Plat_MoveNext(int iUserHandle) 
向后移动数据访问游标 
iUserHandle 
Plat_LoginCMS  返回的句柄 
返回 0  数据未读取完,  返回-1  数据读取完成 
 
 
2.4.5  获取查询信息字符串属性 
1.10 
函数名称 
Plat_GetValueStr 
const char*   Plat_GetValueStr(const char* propertyName, 
功能描述 
参数说明 
获取查询信息的字符串属性 
propertyName  属性名称 
iUserHandle 
Plat_LoginCMS  返回的句柄 
int iUserHandle) 
 
返回值 
备注 
字符串属性值,如果没有返回空字符串 
 
 
2.4.6  获取查询信息整形属性 
1.11 
函数名称 
Plat_GetValueInt 
int  Plat_GetValueInt(const char* propertyName, 
int iUserHandle) 
获取查询信息的整形属性 
propertyName  属性名称 
Plat_LoginCMS  返回的句柄 
iUserHandle 
整形类型属性,获取属性失败返回 INT_MIN 
 
功能描述 
参数说明 
返回值 
备注 
 
 
 
2.5  浏览实时视频 
2.5.1  查询实时流 URL 
1.12 
函数名称 
Plat_ QueryRealStreamURL 
const char * Plat_QueryRealStreamURL(int iUserHandle, 
const char* csCameraID, 
int nStreamType) 
功能描述 
参数说明 
返回值 
备注 
Plat_LoginCMS 返回的句柄 
监控点 ID  
查询实时流视频的 URL   
iUserHandle 
csCameraID 
nStreamType  码流类型: 0 主码流,1 子码流,3 根据平台实际配置 
成功时返回 URL 字符串  错误时返回空字符串 
 
 
2.5.2  播放实时视频 
1.13 
Plat_ PlayVideo 
函数名称 
功能描述 
参数说明 
int Plat_PlayVideo(const char* URL, 
 
   long hWnd, 
 
 
 
 
 
 
 
 
 
 
 
   int iUserHandle, 
   void(__stdcall*fStreamCallback) 
(int handle,const char* data,int 
size,void *pUser), 
 
 
 
 
   void *pUser) 
打开播放视频,同时针对预览和回放 
URL 
预览或回放的播放路径,由
Plat_QueryRealStreamURL 或
Plat_QueryRecordFile 获得 
播放窗口句柄,如果为空,则不播放 
hWnd   
 
iUserHandle 
fStreamCallback 
Plat_LoginCMS  返回的句柄 
视频码流接收回调函数指针,如果回调函数为 NULL
则不给码流 
回调函数参数: 
 
handle  Plat_PlayVideo 返回的句柄 
data   接收视频码流数据缓冲区指针 
size     接收视频码流数据字节数 
pUser    用户数据 
 
 
 
用户数据 
pUser 
>=0 成功,返回实时视频句柄,错误时返回-1 
fStreamCallback用于调用者额外处理流数据 
返回值 
备注 
 
1.14 
Plat_ PlayRecordVideo 
函数名称 
int Plat_ PlayRecordVideo (const char* URL, 
long hWnd, 
int iUserHandle, 
const long lStartTime, 
const long lEndTime, 
void(__stdcall *fStreamCallback) 
(int handle,const char* data,int 
size,void *pUser), 
void *pUser) 
功能描述 
参数说明 
返回值 
备注 
播放视频,只针对回放 
URL 
hWnd   
iUserHandle 
lStartTime 
lEndTime 
fStreamCallback 
回放的播放路径,由 Plat_QueryRecordFile 获得 
播放窗口句柄,如果为空,则不播放 
Plat_LoginCMS  返回的句柄 
录像播放的开始时间 
录像播放的结束时间 
视频码流接收回调函数指针,如果回调函数为 NULL
则不给码流 
回调函数参数: 
 
handle  Plat_ PlayRecordVideo 返回的句柄 
data   接收视频码流数据缓冲区指针 
size     接收视频码流数据字节数 
pUser    用户数据 
 
 
 
用户数据 
pUser 
>=0 成功,返回实时视频句柄,错误时返回-1 
fStreamCallback回调函数用于调用者额外处理流数据 
 
2.5.3  停止实时视频 
1.15 
函数名称 
功能描述 
Plat_ StopVideo 
int  Plat_StopVideo(int hStream) 
停止视频播放