监控设备对接
功能介绍
SDK支持通过邀请的方式把监控设备加入到房间,房间内用户可以订阅观看监控设备的视频,也可以对监控设备的视频进行录制。 目前已支持的协议有:RTSP、RTMP、ONVIF、GB28181。
使用方法
邀请监控设备
注意:
- SDK需要先进入房间,才可以发起邀请。
- 本功能仅用于私有化部署环境,因为需要服务器能直接访问监控设备的IP地址,也就需要服务器和监控设备部署在同一个内网环境。
- GB28181协议需要对接注册,用法详询销售.
- 调用接口:
//被邀请的监控设备的url
const char* targetUrl = "rtsp://192.168.1.163:554/live/av0";
//const char* targetUrl = "rtmp://192.168.1.2/live/livestream0";
//const char* targetUrl = "onvif://admin:8888@192.168.1.3:8080/live";
//const char* targetUrl = "gb28181:44010200402000000123"; //44010200402000000123表示通道号
const char* usrExtDat = "{\"meeting\":{\"ID\":xxx}, \"devInfo\":{\"userID\":\"会议中用户ID\", \"nickName\":\"会议中用户昵称\"}}";
string inviteID = crVideoSDKMain->getSDKCall().invite(targetUrl, usrExtDat);
- 回调通知:
//邀请发送成功
void inviteRslt(const char* inviteID, CRVSDK_ERR_DEF sdkErr, const char* cookie)
{
//sdkErr==CRVSDKERR_NOERR代表邀请成功, 否则代表失败的具体原因
}
相关Apis请参考:
设备接受邀请
- 回调通知:
//通知邀请被接受
void notifyInviteAccepted(const char* inviteID, const char* usrExtDat)
{
//邀请被接受,等待被邀请方进入房间等处理
}
//通知邀请被拒绝
void notifyInviteRejected(const char* inviteID, CRVSDK_ERR_DEF reason, const char* usrExtDat)
{
//邀请被拒绝,弹出提示框等处理
}
相关Apis请参考:
设备进入房间
- 回调通知:
//通知设备进入房间
void notifyUserEnterMeeting(const char* userID)
{
//设备做为一个成员进入到房间中, 此时可订阅观看它的视频, 也可以在不需要的时候,把它请出房间
}
相关Apis请参考: