合并主线
parent
020f9ea8a0
commit
8f7e8efc98
|
@ -1,99 +0,0 @@
|
||||||
alter table parent_platform
|
|
||||||
add startOfflinePush int default 0 null;
|
|
||||||
|
|
||||||
alter table parent_platform
|
|
||||||
add administrativeDivision varchar(50) not null;
|
|
||||||
|
|
||||||
alter table parent_platform
|
|
||||||
add catalogGroup int default 1 null;
|
|
||||||
|
|
||||||
alter table device
|
|
||||||
add audioChannelForReceive VARCHAR(50) null;
|
|
||||||
|
|
||||||
alter table device
|
|
||||||
add audioChannelForSend VARCHAR(50) null;
|
|
||||||
|
|
||||||
alter table stream_push
|
|
||||||
add serverId varchar(50) not null;
|
|
||||||
|
|
||||||
alter table device
|
|
||||||
add geoCoordSys varchar(50) not null;
|
|
||||||
alter table device
|
|
||||||
add treeType varchar(50) not null;
|
|
||||||
update device set device.geoCoordSys='WGS84';
|
|
||||||
update device set device.treeType='CivilCode';
|
|
||||||
|
|
||||||
alter table device_channel
|
|
||||||
add longitudeGcj02 double default null;
|
|
||||||
alter table device_channel
|
|
||||||
add latitudeGcj02 double default null;
|
|
||||||
alter table device_channel
|
|
||||||
add longitudeWgs84 double default null;
|
|
||||||
alter table device_channel
|
|
||||||
add latitudeWgs84 double default null;
|
|
||||||
alter table device_channel
|
|
||||||
add businessGroupId varchar(50) default null;
|
|
||||||
alter table device_channel
|
|
||||||
add gpsTime varchar(50) default null;
|
|
||||||
|
|
||||||
|
|
||||||
alter table device_mobile_position
|
|
||||||
change cnLng longitudeGcj02 double default null;
|
|
||||||
alter table device_mobile_position
|
|
||||||
change cnLat latitudeGcj02 double default null;
|
|
||||||
alter table device_mobile_position
|
|
||||||
add longitudeWgs84 double default null;
|
|
||||||
alter table device_mobile_position
|
|
||||||
add latitudeWgs84 double default null;
|
|
||||||
alter table device_mobile_position
|
|
||||||
drop geodeticSystem;
|
|
||||||
alter table device_mobile_position
|
|
||||||
add createTime varchar(50) default null;
|
|
||||||
|
|
||||||
alter table device_alarm
|
|
||||||
add createTime varchar(50) default null;
|
|
||||||
|
|
||||||
alter table gb_stream
|
|
||||||
change createStamp createTime varchar(50) default null;
|
|
||||||
|
|
||||||
alter table parent_platform
|
|
||||||
add createTime varchar(50) default null;
|
|
||||||
alter table parent_platform
|
|
||||||
add updateTime varchar(50) default null;
|
|
||||||
|
|
||||||
alter table stream_proxy
|
|
||||||
add updateTime varchar(50) default null;
|
|
||||||
|
|
||||||
alter table stream_push
|
|
||||||
add pushTime varchar(50) default null;
|
|
||||||
alter table stream_push
|
|
||||||
add status int DEFAULT NULL;
|
|
||||||
alter table stream_push
|
|
||||||
add updateTime varchar(50) default null;
|
|
||||||
alter table stream_push
|
|
||||||
add pushIng int DEFAULT NULL;
|
|
||||||
alter table stream_push
|
|
||||||
change createStamp createTime varchar(50) default null;
|
|
||||||
|
|
||||||
alter table gb_stream
|
|
||||||
drop column status;
|
|
||||||
|
|
||||||
alter table user
|
|
||||||
add pushKey varchar(50) default null;
|
|
||||||
update user set pushKey='453df297a57a5a7438934sda801fc3' where id=1;
|
|
||||||
|
|
||||||
alter table parent_platform
|
|
||||||
add treeType varchar(50) not null;
|
|
||||||
update parent_platform set parent_platform.treeType='BusinessGroup';
|
|
||||||
alter table parent_platform drop shareAllLiveStream;
|
|
||||||
|
|
||||||
alter table platform_catalog
|
|
||||||
add civilCode varchar(50) default null;
|
|
||||||
alter table platform_catalog
|
|
||||||
add businessGroupId varchar(50) default null;
|
|
||||||
|
|
||||||
/********************* ADD ***************************/
|
|
||||||
alter table stream_push
|
|
||||||
add self int DEFAULT NULL;
|
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ import gov.nist.javax.sip.message.SIPRequest;
|
||||||
import gov.nist.javax.sip.stack.SIPDialog;
|
import gov.nist.javax.sip.stack.SIPDialog;
|
||||||
|
|
||||||
import javax.sip.Dialog;
|
import javax.sip.Dialog;
|
||||||
|
import javax.sip.InvalidArgumentException;
|
||||||
import javax.sip.SipException;
|
import javax.sip.SipException;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
|
||||||
|
@ -127,7 +128,7 @@ public interface ISIPCommander {
|
||||||
*/
|
*/
|
||||||
void streamByeCmd(String deviceId, String channelId, String stream, String callId, SipSubscribe.Event okEvent);
|
void streamByeCmd(String deviceId, String channelId, String stream, String callId, SipSubscribe.Event okEvent);
|
||||||
void streamByeCmd(String deviceId, String channelId, String stream, String callId);
|
void streamByeCmd(String deviceId, String channelId, String stream, String callId);
|
||||||
void streamByeCmd(SIPDialog dialog, SIPRequest request, SipSubscribe.Event okEvent) throws SipException, ParseException;
|
void streamByeCmd(SIPDialog dialog, String channelId, SIPRequest request, SipSubscribe.Event okEvent) throws SipException, ParseException, InvalidArgumentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 回放暂停
|
* 回放暂停
|
||||||
|
|
|
@ -676,6 +676,46 @@ public class SIPCommander implements ISIPCommander {
|
||||||
streamByeCmd(deviceId, channelId, stream, callId, null);
|
streamByeCmd(deviceId, channelId, stream, callId, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void streamByeCmd(SIPDialog dialog, String channelId, SIPRequest request, SipSubscribe.Event okEvent) throws SipException, ParseException, InvalidArgumentException {
|
||||||
|
Request byeRequest = dialog.createRequest(Request.BYE);
|
||||||
|
SipURI byeURI = (SipURI) byeRequest.getRequestURI();
|
||||||
|
byeURI.setHost(request.getRemoteAddress().getHostAddress());
|
||||||
|
byeURI.setPort(request.getRemotePort());
|
||||||
|
byeURI.setUser(channelId);
|
||||||
|
ViaHeader viaHeader = (ViaHeader) byeRequest.getHeader(ViaHeader.NAME);
|
||||||
|
String protocol = viaHeader.getTransport().toUpperCase();
|
||||||
|
viaHeader.setRPort();
|
||||||
|
// 增加Contact header
|
||||||
|
Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort()));
|
||||||
|
byeRequest.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress));
|
||||||
|
List<String> agentParam = new ArrayList<>();
|
||||||
|
agentParam.add("wvp-pro");
|
||||||
|
// TODO 添加版本信息以及日期
|
||||||
|
UserAgentHeader userAgentHeader = null;
|
||||||
|
try {
|
||||||
|
userAgentHeader = sipFactory.createHeaderFactory().createUserAgentHeader(agentParam);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
byeRequest.addHeader(userAgentHeader);
|
||||||
|
ClientTransaction clientTransaction = null;
|
||||||
|
if("TCP".equals(protocol)) {
|
||||||
|
clientTransaction = tcpSipProvider.getNewClientTransaction(byeRequest);
|
||||||
|
} else if("UDP".equals(protocol)) {
|
||||||
|
clientTransaction = udpSipProvider.getNewClientTransaction(byeRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
CallIdHeader callIdHeader = (CallIdHeader) byeRequest.getHeader(CallIdHeader.NAME);
|
||||||
|
if (okEvent != null) {
|
||||||
|
sipSubscribe.addOkSubscribe(callIdHeader.getCallId(), okEvent);
|
||||||
|
}
|
||||||
|
CSeqHeader cSeqHeader = (CSeqHeader)byeRequest.getHeader(CSeqHeader.NAME);
|
||||||
|
cSeqHeader.setSeqNumber(redisCatchStorage.getCSEQ());
|
||||||
|
dialog.sendRequest(clientTransaction);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 视频流停止
|
* 视频流停止
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -26,10 +26,7 @@ import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.sip.Dialog;
|
import javax.sip.*;
|
||||||
import javax.sip.DialogState;
|
|
||||||
import javax.sip.RequestEvent;
|
|
||||||
import javax.sip.SipException;
|
|
||||||
import javax.sip.address.SipURI;
|
import javax.sip.address.SipURI;
|
||||||
import javax.sip.header.CallIdHeader;
|
import javax.sip.header.CallIdHeader;
|
||||||
import javax.sip.header.FromHeader;
|
import javax.sip.header.FromHeader;
|
||||||
|
@ -151,11 +148,13 @@ public class AckRequestProcessor extends SIPRequestProcessorParent implements In
|
||||||
if (sendRtpItem.isOnlyAudio()) {
|
if (sendRtpItem.isOnlyAudio()) {
|
||||||
// 语音对讲
|
// 语音对讲
|
||||||
try {
|
try {
|
||||||
cmder.streamByeCmd((SIPDialog) evt.getDialog(), (SIPRequest) evt.getRequest(), null);
|
cmder.streamByeCmd((SIPDialog) evt.getDialog(), sendRtpItem.getChannelId(), (SIPRequest) evt.getRequest(), null);
|
||||||
} catch (SipException e) {
|
} catch (SipException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
|
} catch (InvalidArgumentException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 向上级平台
|
// 向上级平台
|
||||||
|
|
|
@ -89,12 +89,6 @@ public class MediaServerServiceImpl implements IMediaServerService {
|
||||||
private ZLMRTPServerFactory zlmrtpServerFactory;
|
private ZLMRTPServerFactory zlmrtpServerFactory;
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IVideoManagerStorage storager;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IStreamProxyService streamProxyService;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private EventPublisher publisher;
|
private EventPublisher publisher;
|
||||||
|
|
||||||
|
@ -288,6 +282,7 @@ public class MediaServerServiceImpl implements IMediaServerService {
|
||||||
return (MediaServerItem)RedisUtil.get(key);
|
return (MediaServerItem)RedisUtil.get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MediaServerItem getDefaultMediaServer() {
|
public MediaServerItem getDefaultMediaServer() {
|
||||||
|
|
||||||
|
|
|
@ -24,13 +24,9 @@ public class MediaServiceImpl implements IMediaService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IRedisCatchStorage redisCatchStorage;
|
private IRedisCatchStorage redisCatchStorage;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IVideoManagerStorage storager;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMediaServerService mediaServerService;
|
private IMediaServerService mediaServerService;
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MediaConfig mediaConfig;
|
private MediaConfig mediaConfig;
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import javax.sip.InvalidArgumentException;
|
||||||
import javax.sip.ResponseEvent;
|
import javax.sip.ResponseEvent;
|
||||||
|
|
||||||
import com.genersoft.iot.vmp.gb28181.bean.*;
|
import com.genersoft.iot.vmp.gb28181.bean.*;
|
||||||
|
@ -745,7 +746,7 @@ public class PlayServiceImpl implements IPlayService {
|
||||||
zlmresTfulUtils.closeStreams(mediaInfo, sendRtpItem.getApp(), sendRtpItem.getStreamId());
|
zlmresTfulUtils.closeStreams(mediaInfo, sendRtpItem.getApp(), sendRtpItem.getStreamId());
|
||||||
}
|
}
|
||||||
if (audioBroadcastCatch.getStatus() == AudioBroadcastCatchStatus.Ok) {
|
if (audioBroadcastCatch.getStatus() == AudioBroadcastCatchStatus.Ok) {
|
||||||
cmder.streamByeCmd(audioBroadcastCatch.getDialog(), audioBroadcastCatch.getRequest(), null);
|
cmder.streamByeCmd(audioBroadcastCatch.getDialog(), audioBroadcastCatch.getChannelId(), audioBroadcastCatch.getRequest(), null);
|
||||||
}
|
}
|
||||||
audioBroadcastManager.del(deviceId, channelId);
|
audioBroadcastManager.del(deviceId, channelId);
|
||||||
|
|
||||||
|
@ -753,6 +754,8 @@ public class PlayServiceImpl implements IPlayService {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
|
} catch (InvalidArgumentException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -76,12 +76,6 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private PlatformGbStreamMapper platformGbStreamMapper;
|
private PlatformGbStreamMapper platformGbStreamMapper;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private EventPublisher eventPublisher;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ParentPlatformMapper parentPlatformMapper;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IGbStreamService gbStreamService;
|
private IGbStreamService gbStreamService;
|
||||||
|
|
||||||
|
|
|
@ -197,9 +197,11 @@ public class PlayController {
|
||||||
|
|
||||||
@Operation(summary = "语音广播命令")
|
@Operation(summary = "语音广播命令")
|
||||||
@Parameter(name = "deviceId", description = "设备国标编号", required = true)
|
@Parameter(name = "deviceId", description = "设备国标编号", required = true)
|
||||||
@GetMapping("/broadcast/{deviceId}")
|
@Parameter(name = "deviceId", description = "通道国标编号", required = true)
|
||||||
@PostMapping("/broadcast/{deviceId}")
|
@Parameter(name = "timeout", description = "推流超时时间(秒)", required = true)
|
||||||
public DeferredResult<WVPResult<AudioBroadcastResult>> broadcastApi(@PathVariable String deviceId) {
|
@GetMapping("/broadcast/{deviceId}/{channelId}")
|
||||||
|
@PostMapping("/broadcast/{deviceId}/{channelId}")
|
||||||
|
public DeferredResult<WVPResult<AudioBroadcastResult>> broadcastApi(@PathVariable String deviceId, @PathVariable String channelId, Integer timeout) {
|
||||||
if (logger.isDebugEnabled()) {
|
if (logger.isDebugEnabled()) {
|
||||||
logger.debug("语音广播API调用");
|
logger.debug("语音广播API调用");
|
||||||
}
|
}
|
||||||
|
@ -258,13 +260,10 @@ public class PlayController {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(summary = "获取所有的ssrc")
|
|
||||||
|
|
||||||
@ApiOperation("停止语音广播")
|
@Operation(summary = "停止语音广播")
|
||||||
@ApiImplicitParams({
|
@Parameter(name = "deviceId", description = "设备Id", required = true)
|
||||||
@ApiImplicitParam(name = "deviceId", value = "设备Id", dataTypeClass = String.class),
|
@Parameter(name = "channelId", description = "通道Id", required = true)
|
||||||
@ApiImplicitParam(name = "channelId", value = "通道Id", dataTypeClass = String.class),
|
|
||||||
})
|
|
||||||
@GetMapping("/broadcast/stop/{deviceId}/{channelId}")
|
@GetMapping("/broadcast/stop/{deviceId}/{channelId}")
|
||||||
@PostMapping("/broadcast/stop/{deviceId}/{channelId}")
|
@PostMapping("/broadcast/stop/{deviceId}/{channelId}")
|
||||||
public WVPResult<String> stopBroadcastA(@PathVariable String deviceId, @PathVariable String channelId) {
|
public WVPResult<String> stopBroadcastA(@PathVariable String deviceId, @PathVariable String channelId) {
|
||||||
|
|
|
@ -199,4 +199,15 @@ public class UserController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/userInfo")
|
||||||
|
@Operation(summary = "管理员修改普通用户密码")
|
||||||
|
public LoginUser getUserInfo() {
|
||||||
|
// 获取当前登录用户id
|
||||||
|
LoginUser userInfo = SecurityUtils.getUserInfo();
|
||||||
|
if (userInfo == null) {
|
||||||
|
throw new ControllerException(ErrorCode.ERROR100);
|
||||||
|
}
|
||||||
|
return userInfo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -871,76 +871,91 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
startBroadcast(url){
|
startBroadcast(url){
|
||||||
// 获取推流鉴权KEY
|
// 获取推流鉴权Key
|
||||||
console.log(this.$loginUser)
|
this.$axios({
|
||||||
console.log(this.$loginUser.pushKey)
|
method: 'post',
|
||||||
url += "&sign=" + crypto.createHash('md5').update(this.$loginUser.pushKey, "utf8").digest('hex')
|
url: '/api/user/userInfo',
|
||||||
console.log("开始语音对讲: " + url)
|
}).then( (res)=> {
|
||||||
this.broadcastRtc = new ZLMRTCClient.Endpoint({
|
if (res.data.code !== 0) {
|
||||||
debug: true, // 是否打印日志
|
this.$message({
|
||||||
zlmsdpUrl: url, //流地址
|
showClose: true,
|
||||||
simulecast: false,
|
message: "获取推流鉴权Key失败",
|
||||||
useCamera: false,
|
type: "error",
|
||||||
audioEnable: true,
|
});
|
||||||
videoEnable: false,
|
}else {
|
||||||
recvOnly: false,
|
let pushKey = res.data.data.pushKey;
|
||||||
})
|
// 获取推流鉴权KEY
|
||||||
|
url += "&sign=" + crypto.createHash('md5').update(pushKey, "utf8").digest('hex')
|
||||||
|
console.log("开始语音对讲: " + url)
|
||||||
|
this.broadcastRtc = new ZLMRTCClient.Endpoint({
|
||||||
|
debug: true, // 是否打印日志
|
||||||
|
zlmsdpUrl: url, //流地址
|
||||||
|
simulecast: false,
|
||||||
|
useCamera: false,
|
||||||
|
audioEnable: true,
|
||||||
|
videoEnable: false,
|
||||||
|
recvOnly: false,
|
||||||
|
})
|
||||||
|
|
||||||
// webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_REMOTE_STREAMS,(e)=>{//获取到了远端流,可以播放
|
// webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_REMOTE_STREAMS,(e)=>{//获取到了远端流,可以播放
|
||||||
// console.error('播放成功',e.streams)
|
// console.error('播放成功',e.streams)
|
||||||
// this.broadcastStatus = 1;
|
// this.broadcastStatus = 1;
|
||||||
// });
|
// });
|
||||||
//
|
//
|
||||||
// webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_LOCAL_STREAM,(s)=>{// 获取到了本地流
|
// webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_LOCAL_STREAM,(s)=>{// 获取到了本地流
|
||||||
// this.broadcastStatus = 1;
|
// this.broadcastStatus = 1;
|
||||||
// // document.getElementById('selfVideo').srcObject=s;
|
// // document.getElementById('selfVideo').srcObject=s;
|
||||||
// // this.eventcallbacK("LOCAL STREAM", "获取到了本地流")
|
// // this.eventcallbacK("LOCAL STREAM", "获取到了本地流")
|
||||||
// });
|
// });
|
||||||
|
|
||||||
this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_NOT_SUPPORT,(e)=>{// 获取到了本地流
|
this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_NOT_SUPPORT,(e)=>{// 获取到了本地流
|
||||||
console.error('不支持webrtc',e)
|
console.error('不支持webrtc',e)
|
||||||
this.$message({
|
this.$message({
|
||||||
showClose: true,
|
showClose: true,
|
||||||
message: '不支持webrtc, 无法进行语音对讲',
|
message: '不支持webrtc, 无法进行语音对讲',
|
||||||
type: 'error'
|
type: 'error'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ICE_CANDIDATE_ERROR,(e)=>{// ICE 协商出错
|
this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ICE_CANDIDATE_ERROR,(e)=>{// ICE 协商出错
|
||||||
console.error('ICE 协商出错')
|
console.error('ICE 协商出错')
|
||||||
this.$message({
|
this.$message({
|
||||||
showClose: true,
|
showClose: true,
|
||||||
message: 'ICE 协商出错',
|
message: 'ICE 协商出错',
|
||||||
type: 'error'
|
type: 'error'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED,(e)=>{// offer anwser 交换失败
|
this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED,(e)=>{// offer anwser 交换失败
|
||||||
console.error('offer anwser 交换失败',e)
|
console.error('offer anwser 交换失败',e)
|
||||||
this.$message({
|
this.$message({
|
||||||
showClose: true,
|
showClose: true,
|
||||||
message: 'offer anwser 交换失败' + e,
|
message: 'offer anwser 交换失败' + e,
|
||||||
type: 'error'
|
type: 'error'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ON_CONNECTION_STATE_CHANGE,(e)=>{// offer anwser 交换失败
|
this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ON_CONNECTION_STATE_CHANGE,(e)=>{// offer anwser 交换失败
|
||||||
console.log('状态改变',e)
|
console.log('状态改变',e)
|
||||||
if (e === "connecting") {
|
if (e === "connecting") {
|
||||||
this.broadcastStatus = 0;
|
this.broadcastStatus = 0;
|
||||||
}else if (e === "connected") {
|
}else if (e === "connected") {
|
||||||
this.broadcastStatus = 1;
|
this.broadcastStatus = 1;
|
||||||
}else if (e === "disconnected") {
|
}else if (e === "disconnected") {
|
||||||
this.broadcastStatus = -1;
|
this.broadcastStatus = -1;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.broadcastRtc.on(ZLMRTCClient.Events.CAPTURE_STREAM_FAILED,(e)=>{// offer anwser 交换失败
|
||||||
|
console.log('捕获流失败',e)
|
||||||
|
this.$message({
|
||||||
|
showClose: true,
|
||||||
|
message: '捕获流失败' + e,
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.broadcastRtc.on(ZLMRTCClient.Events.CAPTURE_STREAM_FAILED,(e)=>{// offer anwser 交换失败
|
|
||||||
console.log('捕获流失败',e)
|
|
||||||
this.$message({
|
|
||||||
showClose: true,
|
|
||||||
message: '捕获流失败' + e,
|
|
||||||
type: 'error'
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
stopBroadcast(){
|
stopBroadcast(){
|
||||||
this.broadcastStatus = -2;
|
this.broadcastStatus = -2;
|
||||||
|
|
Loading…
Reference in New Issue