多机互助(1拖N)主从设备简易请流流程
1. 设备初始化
BOOL IVS_PU_InitEx( ULONG ulLinkMode, CHAR *szLocalIP, ULONG ulLocalPort, ULONG ulLocalTlsPort,PU_CERT_FILE_PATH_PARA_S * pstCertFilePath);
2. 登录主设备
ULONG IVS_PU_Login( CHAR *szLoginIP, ULONG ulLoginPort, CHAR *szUserName,CHAR *szPasswd );
接口返回唯一的用户ID号,后续调用sdk接口时该ID作为ulIdentifyID传入,标识操作的设备。
3. 获取主从设备信息
BOOL IVS_PU_GetMasterSlaveChannelInfo(ULONG ulIdentifyID, PU_MASTER_SLAVER_CHANNEL_INFO_S *pstPara);
4. 主设备请流,获取图片及结构化数据请求的流类型设置为元数据流
ULONG IVS_PU_RealPlay( ULONG ulIdentifyID, LPPU_REAL_PLAY_INFO_S pstRealPlayInfo, pfRealDataCallBack fRealDataCallBack, VOID *pUsrData);
主设备请流,LPPU_REAL_PLAY_INFO_S 中的 ulChannelId固定填101,其余字段参考如下截图或SDK开发指南说明。
5. 遍历所有在线从设备,请流,从设备只支持请视频流、元数据流
ULONG IVS_PU_RealPlay( ULONG ulIdentifyID, LPPU_REAL_PLAY_INFO_S pstRealPlayInfo, pfRealDataCallBack fRealDataCallBack, VOID *pUsrData);
注:1. 从设备清流,LPPU_REAL_PLAY_INFO_S 中的 ulChannelId 为IVS_PU_GetMasterSlaveChannelInfo接口返回的对应从设备通道ID;
2.在线从设备指单个通道信息中通道状态(enSlaveChanStatus)为 “正常”(CHANNEL_STATUS_NORMAL)。
6. 元数据解析
在回调函数中进行元数据的获取和解析:
1)获取元数据
BOOL IVS_User_GetMetaData(CHAR *pFBuffer, ULONG ulFBLength ,LAYER_TWO_TYPE eLayTwo,PU_META_DATA **ppstMetaData);
pFBuffer:来源于回调函数
ulFBLength:来源于回调函数
eLayTwo:target(以目标为例)
ppstMetaData:获取到的元数据
2)解析元数据
以人脸抓拍为例:
Switch(第二层元数据Type值){ // LAYER_THREE_TYPE_E eType; case:FACE_FEATURE; //人脸属性 /* 从元数据用户数据中获取所需信息Type值,从而匹配到对应的结构体(如下图示意) */ case:…; }
- 点赞
- 收藏
- 关注作者
评论(0)