From 724b288232e1614de1b789d0910fe3e3db765e52 Mon Sep 17 00:00:00 2001 From: 648540858 <18010473990@163.com> Date: 星期三, 04 八月 2021 18:00:22 +0800 Subject: [PATCH] 优化内存溢出的问题 优化zlm集群默认zlm的存储 添加报警的存储以及相关接口 添加单元测试 --- src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 29 ++++++++++++++++------------- 1 files changed, 16 insertions(+), 13 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 3d66665..d65b461 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 @@ -26,7 +26,6 @@ import org.springframework.core.annotation.Order; import org.springframework.stereotype.Service; -import java.sql.Array; import java.text.SimpleDateFormat; import java.util.*; @@ -123,7 +122,7 @@ String mediaServerId = streamSession.getMediaServerId(device.getDeviceId(), channelId); MediaServerItem mediaServerItem = this.getOne(mediaServerId); if (mediaServerItem != null) { - String streamId = String.format("gb_play_%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)); } @@ -180,6 +179,12 @@ result.add((MediaServerItem)redisUtil.get(key)); } return result; + } + + + @Override + public List<MediaServerItem> getAllFromDatabase() { + return mediaServerMapper.queryAll(); } @Override @@ -252,18 +257,16 @@ 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.getSipDomain())); } + redisUtil.set(key, serverItemFromConfig); }else { String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId(); serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain())); @@ -380,7 +383,7 @@ param.put("hook.on_stream_none_reader",String.format("%s/on_stream_none_reader", hookPrex)); param.put("hook.on_stream_not_found",String.format("%s/on_stream_not_found", hookPrex)); param.put("hook.timeoutSec","20"); - param.put("general.streamNoneReaderDelayMS",mediaServerItem.getStreamNoneReaderDelayMS()); + param.put("general.streamNoneReaderDelayMS","-1".equals(mediaServerItem.getStreamNoneReaderDelayMS())?"3600000":mediaServerItem.getStreamNoneReaderDelayMS() ); JSONObject responseJSON = zlmresTfulUtils.setServerConfig(mediaServerItem, param); -- Gitblit v1.8.0