From 407a5b77c3586fef44dc771e48f05c2354740795 Mon Sep 17 00:00:00 2001
From: 648540858 <18010473990@163.com>
Date: 星期二, 07 九月 2021 09:20:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 46 ++++++++++++++++++++++++++--------------------
1 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
index 07bddb8..33c0051 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -83,7 +83,7 @@
for (MediaServerItem mediaServerItem : mediaServerItemList) {
// 鏇存柊
if (mediaServerItem.getSsrcConfig() == null) {
- SsrcConfig ssrcConfig = new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getSipDomain());
+ SsrcConfig ssrcConfig = new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getDomain());
mediaServerItem.setSsrcConfig(ssrcConfig);
redisUtil.set(VideoManagerConstants.MEDIA_SERVER_PREFIX + mediaServerItem.getId(), mediaServerItem);
}
@@ -122,7 +122,7 @@
String mediaServerId = streamSession.getMediaServerId(device.getDeviceId(), channelId);
MediaServerItem mediaServerItem = this.getOne(mediaServerId);
if (mediaServerItem != null) {
- String streamId = String.format("%s/%s", device.getDeviceId(), channelId);
+ String streamId = String.format("%s_%s", device.getDeviceId(), channelId);
zlmrtpServerFactory.closeRTPServer(mediaServerItem, streamId);
releaseSsrc(mediaServerItem, streamSession.getSSRC(device.getDeviceId(), channelId));
}
@@ -145,7 +145,7 @@
*/
@Override
public void clearRTPServer(MediaServerItem mediaServerItem) {
- mediaServerItem.setSsrcConfig(new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getSipDomain()));
+ mediaServerItem.setSsrcConfig(new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getDomain()));
redisUtil.zAdd(VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX, mediaServerItem.getId(), 0);
}
@@ -162,7 +162,7 @@
new SsrcConfig(
mediaServerItemInDataBase.getId(),
null,
- sipConfig.getSipDomain()
+ sipConfig.getDomain()
)
);
}
@@ -179,6 +179,12 @@
result.add((MediaServerItem)redisUtil.get(key));
}
return result;
+ }
+
+
+ @Override
+ public List<MediaServerItem> getAllFromDatabase() {
+ return mediaServerMapper.queryAll();
}
@Override
@@ -251,35 +257,33 @@
if (mediaConfig.getRtspSSLPort() == 0) serverItemFromConfig.setRtspSSLPort(zlmServerConfig.getRtspSSlport());
if (mediaConfig.getRtpProxyPort() == 0) serverItemFromConfig.setRtpProxyPort(zlmServerConfig.getRtpProxyPort());
if (serverItem != null){
- // 鍙兘鏄悓涓�涓獄lm浣唅d鍙戠敓浜嗗彉鍖�
- if (!serverItem.getId().equals(zlmServerConfig.getGeneralMediaServerId())) {
- mediaServerMapper.delOne(serverItem.getId());
- redisUtil.del(VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId());
-
- String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
- serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));
- redisUtil.set(key, serverItemFromConfig);
- mediaServerMapper.add(serverItemFromConfig);
+ mediaServerMapper.delDefault();
+ mediaServerMapper.add(serverItemFromConfig);
+ String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
+ MediaServerItem serverItemInRedis = (MediaServerItem)redisUtil.get(key);
+ if (serverItemInRedis != null) {
+ serverItemFromConfig.setSsrcConfig(serverItemInRedis.getSsrcConfig());
}else {
- mediaServerMapper.update(serverItemFromConfig);
+ serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getDomain()));
}
+ redisUtil.set(key, serverItemFromConfig);
}else {
String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
- serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));
+ serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getDomain()));
redisUtil.set(key, serverItemFromConfig);
mediaServerMapper.add(serverItemFromConfig);
}
resetOnlineServerItem(serverItemFromConfig);
setZLMConfig(serverItemFromConfig);
}else {
- String now = this.format.format(new Date(System.currentTimeMillis()));
+ String now = this.format.format(System.currentTimeMillis());
if (serverItem == null){
// 涓�涓柊鐨剒lm鎺ュ叆wvp
- serverItem = new MediaServerItem(zlmServerConfig, sipConfig.getSipIp());
+ serverItem = new MediaServerItem(zlmServerConfig, sipConfig.getIp());
serverItem.setCreateTime(now);
serverItem.setUpdateTime(now);
String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId();
- serverItem.setSsrcConfig(new SsrcConfig(serverItem.getId(), null, sipConfig.getSipDomain()));
+ serverItem.setSsrcConfig(new SsrcConfig(serverItem.getId(), null, sipConfig.getDomain()));
redisUtil.set(key, serverItem);
// 瀛樺叆鏁版嵁搴�
mediaServerMapper.add(serverItem);
@@ -338,12 +342,14 @@
if (redisUtil.zSize(key) == null || redisUtil.zSize(key) == 0) {
logger.info("鑾峰彇璐熻浇鏈�浣庣殑鑺傜偣鏃舵棤鍦ㄧ嚎鑺傜偣");
+ return null;
}
// 鑾峰彇鍒嗘暟鏈�浣庣殑锛屽強骞跺彂鏈�浣庣殑
Set<Object> objects = redisUtil.ZRange(key, 0, -1);
- ArrayList<Object> MediaServerObjectS = new ArrayList<>(objects);
- String mediaServerId = (String)MediaServerObjectS.get(0);
+ ArrayList<Object> mediaServerObjectS = new ArrayList<>(objects);
+
+ String mediaServerId = (String)mediaServerObjectS.get(0);
return getOne(mediaServerId);
}
--
Gitblit v1.8.0