音视频通话

监控设备对接

更新时间: 2024/06/20 14:30:12

功能介绍

云屋SDK支持通过邀请的方式把监控设备加入到房间,房间内用户可以订阅观看监控设备的视频,也可以对监控设备的视频进行录制。 目前已支持的协议有:RTSP、RTMP、ONVIF、GB28181。

使用方法

邀请监控设备

注意:

  1. SDK需要先进入房间,才可以发起邀请。
  2. 本功能仅用于私有化部署环境,因为需要服务器能直接访问监控设备的IP地址,也就需要服务器和监控设备部署在同一个内网环境。
  3. GB28181协议需要先对接注册,用法详询销售。
  • 调用接口:
 
//被邀请的监控设备的url
const targetUrl = "rtsp://192.168.1.163:554/live/av0";
//string targetUrl = "rtmp://192.168.1.2/live/livestream0";
//string targetUrl = "onvif://admin:8888@192.168.1.3:8080/live";
//string targetUrl = "gb28181:44010200402000000123";  // 需要先注册,44010200402000000123表示通道号
const usrExtDat = {
	meeting: { ID: xxx },  // xxx为会议号
	devInfo: {
		userID: "该设备在房间中的用户ID", // userID为用户唯一ID(UserID)
		nickName: "该设备在房间中的昵称"
	}
};
const inviteID = CRVideo_Invite(targetUrl, JSON.stringify(usrExtDat));
 
  • 回调通知:
 //邀请发送成功
CRVideo_InviteSuccess.callback = function (inviteID, cookie) {
  //等待被邀请方应答/拒绝,或邀请超时
};

//邀请发送失败
CRVideo_InviteFail.callback = function (inviteID, sdkErr, cookie) {
  //邀请发送失败,弹出提示框等处理
};

相关API请参考:

设备接受邀请

  • 回调通知:
//通知邀请被接受
CRVideo_NotifyInviteAccepted.callback = function (inviteID, userExtDat) {
  //邀请被接受,等待被邀请方进入房间等处理
};

//通知邀请被拒绝
CRVideo_NotifyInviteRejected.callback = function (inviteID, reason, userExtDat) {
  //邀请被拒绝,弹出提示框等处理
};

相关API请参考:

设备进入房间

  • 回调通知:
//通知设备进入房间
CRVideo_UserEnterMeeting.callback = function (userID) {
  // userID为邀请时由邀请方SDK指定的userID(usrExtDat —— devInfo —— userID)
  // 设备做为一个成员进入到房间中, 此时可观看它的视频, 也可以在不需要的时候,把它请出房间
};

相关API请参考: