From 77bf85342b9d5a7954c85f05a54e6a46d41f0bf6 Mon Sep 17 00:00:00 2001 From: 648540858 <18010473990@163.com> Date: 星期四, 02 九月 2021 15:10:47 +0800 Subject: [PATCH] 更新docker,更新readme --- src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 49 +++++++++++++++++++++++++++---------------------- 1 files changed, 27 insertions(+), 22 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..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 @@ -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.*; @@ -84,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); } @@ -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)); } @@ -146,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); } @@ -163,7 +162,7 @@ new SsrcConfig( mediaServerItemInDataBase.getId(), null, - sipConfig.getSipDomain() + sipConfig.getDomain() ) ); } @@ -180,6 +179,12 @@ result.add((MediaServerItem)redisUtil.get(key)); } return result; + } + + + @Override + public List<MediaServerItem> getAllFromDatabase() { + return mediaServerMapper.queryAll(); } @Override @@ -252,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); @@ -339,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); } @@ -380,7 +385,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