zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

EasyCVR对接华为iVS订阅摄像机和用户变更请求接口介绍

2023-03-15 21:57:19 时间

EasyCVR平台本身具备订阅功能,订阅是TSINGSEE青犀视频开发国标系统中的一个机制,主要目的就是保持上下级域之间的目录结构,设备状态保持一致。在我们开发EasyCVR对接华为IVS平台时,这个订阅是可以通过接口来变更摄像机和用户的,本文我们就介绍一下这个接口。

摄像机和用户变更订阅成功后,当视频监控平台产生摄像机和用户变更时,会推送给调用方,推送信息内容参见IVS_USER_CAMERA_INFO_CHANGE结构体。下级域的使用场景,先订阅再获取下级域的用户列表,该订阅才会生效。

代码如下:

//cpp code
IVS_INT32 IVS_SDK_SubscribeUserCameraInfoChange( 
     IVS_INT32       iSessionID, 
     const IVS_CHAR  *pReqXml);

//cpp code
IVS_UINT32 uiUserID = 0; 
 CString strUserId = ""; 
 IVS_INT32 iRet = IVS_SDK_GetUserID(iSessionID, &uiUserID);//获取用户ID 
 if (IVS_SUCCEED == iRet)  
 {  
     strUserId.Format("%d", uiUserID);  
 } 
 else 
 { 
     return; 
 } 

 CString strReqXml = ""; 
 strReqXml += "<Content>"; 
 strReqXml +=  "<DomainCode>810960fa859747abaabc9ee3e8328f58</DomainCode>"; 
 strReqXml +=  "<Subscribe>"; 
  strReqXml +=       "<SubscribeID>64</SubscribeID>"; 
  strReqXml +=         "<SubscribeType>1</SubscribeType>"; //1 用户;2 摄像机;3 用户摄像机同时订阅;
 strReqXml +=  "</Subscribe>"; 
 strReqXml += "</Content>"; 

 iRet = IVS_SDK_SubscribeUserCameraInfoChange(iSessionID, strReqXml);
 if (IVS_SUCCEED == iRet)  
 {  
     //成功 
 }