From 0ddc374c34d095d5c031e688b30ece9abcb969a3 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Thu, 24 Oct 2024 15:55:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=9Azlm=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E4=B8=8A=E7=BA=BF=E6=97=B6=E7=9A=84=E7=A9=BA=E6=8C=87?= =?UTF-8?q?=E9=92=88=E5=BC=82=E5=B8=B8+=E5=8D=95=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E6=94=B6=E6=B5=81=E6=9C=AA=E8=AE=BE=E7=BD=AE=E5=88=B0zlm?= =?UTF-8?q?=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transmit/event/request/impl/ByeRequestProcessor.java | 2 +- .../iot/vmp/media/service/impl/MediaServerServiceImpl.java | 3 ++- .../iot/vmp/media/zlm/ZLMMediaServerStatusManager.java | 5 ++++- .../genersoft/iot/vmp/vmanager/server/ServerController.java | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java index c6dd5f98..c51b570a 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java @@ -184,7 +184,7 @@ public class ByeRequestProcessor extends SIPRequestProcessorParent implements In return; } log.info("[收到bye] 来自:{}, 通道: {}, 类型: {}", ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getType()); - + // TODO 结束点播 避免等待 if (ssrcTransaction.getPlatformId() != null ) { Platform platform = platformService.queryPlatformByServerGBId(ssrcTransaction.getPlatformId()); diff --git a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java index 59c9e229..56d5399a 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java @@ -273,6 +273,7 @@ public class MediaServerServiceImpl implements IMediaServerService { public void update(MediaServer mediaSerItem) { mediaServerMapper.update(mediaSerItem); MediaServer mediaServerInRedis = getOne(mediaSerItem.getId()); + // 获取完整数据 MediaServer mediaServerInDataBase = mediaServerMapper.queryOne(mediaSerItem.getId()); if (mediaServerInDataBase == null) { return; @@ -350,7 +351,7 @@ public class MediaServerServiceImpl implements IMediaServerService { Set mediaServerIdSet = redisTemplate.opsForZSet().reverseRange(key, 0, -1); List result = new ArrayList<>(); - if (mediaServerIdSet != null && mediaServerIdSet.size() > 0) { + if (mediaServerIdSet != null && !mediaServerIdSet.isEmpty()) { for (Object mediaServerId : mediaServerIdSet) { String mediaServerIdStr = (String) mediaServerId; String serverKey = VideoManagerConstants.MEDIA_SERVER_PREFIX + userSetting.getServerId() + ":" + mediaServerIdStr; diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManager.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManager.java index 92310c60..0d7ee045 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManager.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManager.java @@ -129,7 +129,8 @@ public class ZLMMediaServerStatusManager { } if (!offlineZlmPrimaryMap.isEmpty()) { for (MediaServer mediaServerItem : offlineZlmPrimaryMap.values()) { - if (offlineZlmTimeMap.get(mediaServerItem.getId()) < System.currentTimeMillis() - 30*60*1000) { + if (offlineZlmTimeMap.get(mediaServerItem.getId()) != null + && offlineZlmTimeMap.get(mediaServerItem.getId()) < System.currentTimeMillis() - 30*60*1000) { offlineZlmsecondaryMap.put(mediaServerItem.getId(), mediaServerItem); offlineZlmPrimaryMap.remove(mediaServerItem.getId()); continue; @@ -281,6 +282,8 @@ public class ZLMMediaServerStatusManager { // 等zlm支持给每个rtpServer设置关闭音频的时候可以不设置此选项 if (mediaServerItem.isRtpEnable() && !ObjectUtils.isEmpty(mediaServerItem.getRtpPortRange())) { param.put("rtp_proxy.port_range", mediaServerItem.getRtpPortRange().replace(",", "-")); + }else { + param.put("rtp_proxy.port", mediaServerItem.getRtpProxyPort()); } if (!ObjectUtils.isEmpty(mediaServerItem.getRecordPath())) { diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java index bc72ce70..d7facd23 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java @@ -228,7 +228,7 @@ public class ServerController { public List getMediaLoad() { List result = new ArrayList<>(); List allOnline = mediaServerService.getAllOnline(); - if (allOnline.size() == 0) { + if (allOnline.isEmpty()) { return result; }else { for (MediaServer mediaServerItem : allOnline) {