| | |
| | | add custom_name varchar(255) default null; |
| | | |
| | | alter table device |
| | | add sdpIp varchar(50) default null; |
| | | |
| | | alter table device |
| | | add password varchar(255) default null; |
| | | |
| | | alter table device |
| | |
| | | @Schema(description = "密码") |
| | | private String password; |
| | | |
| | | @Schema(description = "收流IP") |
| | | private String sdpIp; |
| | | |
| | | |
| | | public String getDeviceId() { |
| | | return deviceId; |
| | |
| | | public void setPassword(String password) { |
| | | this.password = password; |
| | | } |
| | | |
| | | public String getSdpIp() { |
| | | return sdpIp; |
| | | } |
| | | |
| | | public void setSdpIp(String sdpIp) { |
| | | this.sdpIp = sdpIp; |
| | | } |
| | | } |
| | |
| | | subscribe.removeSubscribe(hookSubscribe);
|
| | | }
|
| | | });
|
| | | //
|
| | | String sdpIp;
|
| | | if (!ObjectUtils.isEmpty(device.getSdpIp())) {
|
| | | sdpIp = device.getSdpIp();
|
| | | }else {
|
| | | sdpIp = mediaServerItem.getSdpIp();
|
| | | }
|
| | | StringBuffer content = new StringBuffer(200);
|
| | | content.append("v=0\r\n");
|
| | | content.append("o=" + channelId + " 0 0 IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
|
| | | content.append("o=" + channelId + " 0 0 IN IP4 " + sdpIp + "\r\n");
|
| | | content.append("s=Play\r\n");
|
| | | content.append("c=IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
|
| | | content.append("c=IN IP4 " + sdpIp + "\r\n");
|
| | | content.append("t=0 0\r\n");
|
| | |
|
| | | if (userSetting.isSeniorSdp()) {
|
| | |
| | |
|
| | |
|
| | | logger.info("{} 分配的ZLM为: {} [{}:{}]", ssrcInfo.getStream(), mediaServerItem.getId(), mediaServerItem.getIp(), ssrcInfo.getPort());
|
| | |
|
| | | String sdpIp;
|
| | | if (!ObjectUtils.isEmpty(device.getSdpIp())) {
|
| | | sdpIp = device.getSdpIp();
|
| | | }else {
|
| | | sdpIp = mediaServerItem.getSdpIp();
|
| | | }
|
| | | StringBuffer content = new StringBuffer(200);
|
| | | content.append("v=0\r\n");
|
| | | content.append("o=" + channelId + " 0 0 IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
|
| | | content.append("o=" + channelId + " 0 0 IN IP4 " + sdpIp + "\r\n");
|
| | | content.append("s=Playback\r\n");
|
| | | content.append("u=" + channelId + ":0\r\n");
|
| | | content.append("c=IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
|
| | | content.append("c=IN IP4 " + sdpIp + "\r\n");
|
| | | content.append("t=" + DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime) + " "
|
| | | + DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime) + "\r\n");
|
| | |
|
| | |
| | | SipSubscribe.Event errorEvent) throws InvalidArgumentException, SipException, ParseException {
|
| | |
|
| | | logger.info("{} 分配的ZLM为: {} [{}:{}]", ssrcInfo.getStream(), mediaServerItem.getId(), mediaServerItem.getIp(), ssrcInfo.getPort());
|
| | |
|
| | | String sdpIp;
|
| | | if (!ObjectUtils.isEmpty(device.getSdpIp())) {
|
| | | sdpIp = device.getSdpIp();
|
| | | }else {
|
| | | sdpIp = mediaServerItem.getSdpIp();
|
| | | }
|
| | | StringBuffer content = new StringBuffer(200);
|
| | | content.append("v=0\r\n");
|
| | | content.append("o=" + channelId + " 0 0 IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
|
| | | content.append("o=" + channelId + " 0 0 IN IP4 " + sdpIp + "\r\n");
|
| | | content.append("s=Download\r\n");
|
| | | content.append("u=" + channelId + ":0\r\n");
|
| | | content.append("c=IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
|
| | | content.append("c=IN IP4 " + sdpIp + "\r\n");
|
| | | content.append("t=" + DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime) + " "
|
| | | + DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime) + "\r\n");
|
| | |
|
| | |
| | | if (!deviceInStore.getGeoCoordSys().equals(device.getGeoCoordSys())) { |
| | | updateDeviceChannelGeoCoordSys(device); |
| | | } |
| | | // 更新redis |
| | | deviceMapper.updateCustom(device); |
| | | } |
| | | |
| | |
| | | "transport," + |
| | | "streamMode," + |
| | | "ip," + |
| | | "sdpIp," + |
| | | "port," + |
| | | "hostAddress," + |
| | | "expires," + |
| | |
| | | "transport," + |
| | | "streamMode," + |
| | | "ip," + |
| | | "sdpIp," + |
| | | "port," + |
| | | "hostAddress," + |
| | | "expires," + |
| | |
| | | "#{transport}," + |
| | | "#{streamMode}," + |
| | | "#{ip}," + |
| | | "#{sdpIp}," + |
| | | "#{port}," + |
| | | "#{hostAddress}," + |
| | | "#{expires}," + |
| | |
| | | "transport," + |
| | | "streamMode," + |
| | | "ip," + |
| | | "sdpIp," + |
| | | "port," + |
| | | "hostAddress," + |
| | | "expires," + |
| | |
| | | "transport," + |
| | | "streamMode," + |
| | | "ip," + |
| | | "sdpIp," + |
| | | "port," + |
| | | "hostAddress," + |
| | | "expires," + |
| | |
| | | "transport," + |
| | | "streamMode," + |
| | | "ip," + |
| | | "sdpIp," + |
| | | "port," + |
| | | "hostAddress," + |
| | | "expires," + |
| | |
| | | "<if test=\"password != null\">, password='${password}'</if>" + |
| | | "<if test=\"streamMode != null\">, streamMode='${streamMode}'</if>" + |
| | | "<if test=\"ip != null\">, ip='${ip}'</if>" + |
| | | "<if test=\"sdpIp != null\">, sdpIp='${sdpIp}'</if>" + |
| | | "<if test=\"port != null\">, port=${port}</if>" + |
| | | "<if test=\"charset != null\">, charset='${charset}'</if>" + |
| | | "<if test=\"subscribeCycleForCatalog != null\">, subscribeCycleForCatalog=${subscribeCycleForCatalog}</if>" + |
| | |
| | | "deviceId, " + |
| | | "custom_name, " + |
| | | "password, " + |
| | | "sdpIp, " + |
| | | "createTime," + |
| | | "updateTime," + |
| | | "charset," + |
| | |
| | | "#{deviceId}," + |
| | | "#{name}," + |
| | | "#{password}," + |
| | | "#{sdpIp}," + |
| | | "#{createTime}," + |
| | | "#{updateTime}," + |
| | | "#{charset}," + |
| | |
| | | <el-tag size="small">{{configInfoData.sip.password}}</el-tag> |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | <el-descriptions title="版本信息"v-if="configInfoData.sip"> |
| | | <el-descriptions title="版本信息"v-if="configInfoData.version"> |
| | | <el-descriptions-item label="版本">{{configInfoData.version.version}}</el-descriptions-item> |
| | | <el-descriptions-item label="编译时间">{{configInfoData.version.BUILD_DATE}}</el-descriptions-item> |
| | | <el-descriptions-item label="GIT版本">{{configInfoData.version.GIT_Revision_SHORT}}</el-descriptions-item> |
| | |
| | | <el-form-item label="密码" prop="password"> |
| | | <el-input type="password" v-model="form.password" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="收流IP" prop="sdpIp"> |
| | | <el-input type="sdpIp" v-model="form.sdpIp" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="流媒体ID" prop="mediaServerId"> |
| | | <el-select v-model="form.mediaServerId" style="float: left; width: 100%" > |
| | | <el-option key="auto" label="自动负载最小" value="auto"></el-option> |