From 57b562d622f3e9ac59372349efadbc56e66e80fa Mon Sep 17 00:00:00 2001 From: 64850858 <648540858@qq.com> Date: 星期二, 08 六月 2021 10:37:29 +0800 Subject: [PATCH] 添加流IP单独配置 --- src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java | 12 --- src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerManger.java | 1 src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java | 119 +++++++++------------------------------ src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java | 10 +++ src/main/java/com/genersoft/iot/vmp/gb28181/utils/NumericUtil.java | 8 +- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java | 1 src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java | 22 +++--- src/main/resources/application-dev.yml | 2 src/main/resources/all-application.yml | 4 + 9 files changed, 58 insertions(+), 121 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java index cd4e90d..c6b50b0 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java @@ -17,6 +17,9 @@ @Value("${media.sdpIp:${media.ip}}") private String sdpIp; + @Value("${media.streamIp:${media.ip}}") + private String streamIp; + @Value("${media.httpPort}") private String httpPort; @@ -60,135 +63,67 @@ return ip; } - public void setIp(String ip) { - this.ip = ip; - } - public String getHookIp() { return hookIp; } - public void setHookIp(String hookIp) { - this.hookIp = hookIp; + public String getSdpIp() { + return sdpIp; + } + + public String getStreamIp() { + return streamIp; } public String getHttpPort() { return httpPort; } - public void setHttpPort(String httpPort) { - this.httpPort = httpPort; - } - - public boolean isAutoConfig() { - return autoConfig; - } - - public boolean getAutoConfig() { - return autoConfig; - } - - public void setAutoConfig(boolean autoConfig) { - this.autoConfig = autoConfig; - } - - public String getSecret() { - return secret; - } - - public void setSecret(String secret) { - this.secret = secret; - } - - public String getStreamNoneReaderDelayMS() { - return streamNoneReaderDelayMS; - } - - public void setStreamNoneReaderDelayMS(String streamNoneReaderDelayMS) { - this.streamNoneReaderDelayMS = streamNoneReaderDelayMS; - } - - public boolean isRtpEnable() { - return rtpEnable; - } - - public void setRtpEnable(boolean rtpEnable) { - this.rtpEnable = rtpEnable; - } - - public String getRtpPortRange() { - return rtpPortRange; - } - - public void setRtpPortRange(String rtpPortRange) { - this.rtpPortRange = rtpPortRange; - } - public String getHttpSSlPort() { return httpSSlPort; - } - - public void setHttpSSlPort(String httpSSlPort) { - this.httpSSlPort = httpSSlPort; } public String getRtmpPort() { return rtmpPort; } - public void setRtmpPort(String rtmpPort) { - this.rtmpPort = rtmpPort; - } - public String getRtmpSSlPort() { return rtmpSSlPort; - } - - public void setRtmpSSlPort(String rtmpSSlPort) { - this.rtmpSSlPort = rtmpSSlPort; } public String getRtpProxyPort() { return rtpProxyPort; } - public void setRtpProxyPort(String rtpProxyPort) { - this.rtpProxyPort = rtpProxyPort; - } - public String getRtspPort() { return rtspPort; - } - - public void setRtspPort(String rtspPort) { - this.rtspPort = rtspPort; } public String getRtspSSLPort() { return rtspSSLPort; } - public void setRtspSSLPort(String rtspSSLPort) { - this.rtspSSLPort = rtspSSLPort; + public boolean isAutoConfig() { + return autoConfig; + } + + public String getSecret() { + return secret; + } + + public String getStreamNoneReaderDelayMS() { + return streamNoneReaderDelayMS; + } + + public boolean isRtpEnable() { + return rtpEnable; + } + + public String getRtpPortRange() { + return rtpPortRange; } public int getRecordAssistPort() { return recordAssistPort; - } - - public void setRecordAssistPort(int recordAssistPort) { - this.recordAssistPort = recordAssistPort; - } - - public String getSdpIp() { - if (StringUtils.isEmpty(sdpIp)) { - return ip; - }else { - return sdpIp; - } - } - - public void setSdpIp(String sdpIp) { - this.sdpIp = sdpIp; } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java index 445f4d2..413f0d1 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java @@ -24,7 +24,6 @@ */ public class AckRequestProcessor extends SIPRequestAbstractProcessor { - private Logger logger = LoggerFactory.getLogger(AckRequestProcessor.class); private IRedisCatchStorage redisCatchStorage; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/NumericUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/NumericUtil.java index 3db3813..d990db9 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/NumericUtil.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/NumericUtil.java @@ -20,10 +20,10 @@ public static boolean isDouble(String str) { try { Double num2 = Double.valueOf(str); - logger.debug(num2 + " is a valid numeric string!"); +// logger.debug(num2 + " is a valid numeric string!"); return true; } catch (Exception e) { - logger.debug(str + " is an invalid numeric string!"); +// logger.debug(str + " is an invalid numeric string!"); return false; } } @@ -36,10 +36,10 @@ public static boolean isInteger(String str) { try { int num2 = Integer.valueOf(str); - logger.debug(num2 + " is an integer!"); +// logger.debug(num2 + " is an integer!"); return true; } catch (Exception e) { - logger.debug(str + " is not an integer!"); +// logger.debug(str + " is not an integer!"); return false; } } diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java index d622101..09fec81 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java @@ -6,8 +6,6 @@ import com.genersoft.iot.vmp.conf.MediaConfig; import com.genersoft.iot.vmp.conf.SipConfig; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; -import com.genersoft.iot.vmp.storager.IRedisCatchStorage; -//import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import com.genersoft.iot.vmp.service.IStreamProxyService; import org.slf4j.Logger; @@ -17,7 +15,6 @@ import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import org.springframework.util.StringUtils; import java.util.HashMap; import java.util.List; @@ -33,13 +30,7 @@ private IVideoManagerStorager storager; @Autowired - private IRedisCatchStorage redisCatchStorage; - - @Autowired private MediaConfig mediaConfig; - - @Autowired - private SipConfig sipConfig; @Value("${server.port}") private String serverPort; @@ -106,7 +97,6 @@ private void saveZLMConfig() { logger.info("璁剧疆zlm..."); - if (StringUtils.isEmpty(mediaConfig.getHookIp())) mediaConfig.setHookIp(sipConfig.getSipIp()); String protocol = sslEnabled ? "https" : "http"; String hookPrex = String.format("%s://%s:%s/index/hook", protocol, mediaConfig.getHookIp(), serverPort); String recordHookPrex = null; @@ -149,7 +139,7 @@ logger.info( "[ id: " + zlmServerConfig.getGeneralMediaServerId() + "] zlm鎺ュ叆鎴愬姛..."); // 鍏抽棴寰幆鑾峰彇zlm閰嶇疆 startGetMedia = false; - if (mediaConfig.getAutoConfig()) saveZLMConfig(); + if (mediaConfig.isAutoConfig()) saveZLMConfig(); zlmServerManger.updateServerCatch(zlmServerConfig); // 娓呯┖鎵�鏈塻ession diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java index 10b368c..270a632 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java @@ -39,6 +39,8 @@ private String sdpIp; + private String streamIp; + private long updateTime; @JSONField(name = "hls.fileBufSize") @@ -765,4 +767,12 @@ public void setSdpIp(String sdpIp) { this.sdpIp = sdpIp; } + + public String getStreamIp() { + return streamIp; + } + + public void setStreamIp(String streamIp) { + this.streamIp = streamIp; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerManger.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerManger.java index 4018993..3770d80 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerManger.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerManger.java @@ -19,6 +19,7 @@ public void updateServerCatch(ZLMServerConfig zlmServerConfig) { zlmServerConfig.setIp(mediaConfig.getIp()); + zlmServerConfig.setStreamIp(mediaConfig.getStreamIp()); zlmServerConfig.setSdpIp(mediaConfig.getSdpIp()); zlmServerConfig.setHttpPort(mediaConfig.getHttpPort()); diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java index 19cba05..4855d1d 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java @@ -32,17 +32,17 @@ StreamInfo streamInfoResult = new StreamInfo(); streamInfoResult.setStreamId(stream); streamInfoResult.setApp(app); - streamInfoResult.setRtmp(String.format("rtmp://%s:%s/%s/%s", mediaInfo.getIp(), mediaInfo.getRtmpPort(), app, stream)); - streamInfoResult.setRtsp(String.format("rtsp://%s:%s/%s/%s", mediaInfo.getIp(), mediaInfo.getRtspPort(), app, stream)); - streamInfoResult.setFlv(String.format("http://%s:%s/%s/%s.flv", mediaInfo.getIp(), mediaInfo.getHttpPort(), app, stream)); - streamInfoResult.setWs_flv(String.format("ws://%s:%s/%s/%s.flv", mediaInfo.getIp(), mediaInfo.getHttpPort(), app, stream)); - streamInfoResult.setHls(String.format("http://%s:%s/%s/%s/hls.m3u8", mediaInfo.getIp(), mediaInfo.getHttpPort(), app, stream)); - streamInfoResult.setWs_hls(String.format("ws://%s:%s/%s/%s/hls.m3u8", mediaInfo.getIp(), mediaInfo.getHttpPort(), app, stream)); - streamInfoResult.setFmp4(String.format("http://%s:%s/%s/%s.live.mp4", mediaInfo.getIp(), mediaInfo.getHttpPort(), app, stream)); - streamInfoResult.setWs_fmp4(String.format("ws://%s:%s/%s/%s.live.mp4", mediaInfo.getIp(), mediaInfo.getHttpPort(), app, stream)); - streamInfoResult.setTs(String.format("http://%s:%s/%s/%s.live.ts", mediaInfo.getIp(), mediaInfo.getHttpPort(), app, stream)); - streamInfoResult.setWs_ts(String.format("ws://%s:%s/%s/%s.live.ts", mediaInfo.getIp(), mediaInfo.getHttpPort(), app, stream)); - streamInfoResult.setRtc(String.format("http://%s:%s/index/api/webrtc?app=%s&stream=%s&type=play", mediaInfo.getIp(), mediaInfo.getHttpPort(), app, stream)); + streamInfoResult.setRtmp(String.format("rtmp://%s:%s/%s/%s", mediaInfo.getStreamIp(), mediaInfo.getRtmpPort(), app, stream)); + streamInfoResult.setRtsp(String.format("rtsp://%s:%s/%s/%s", mediaInfo.getStreamIp(), mediaInfo.getRtspPort(), app, stream)); + streamInfoResult.setFlv(String.format("http://%s:%s/%s/%s.flv", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); + streamInfoResult.setWs_flv(String.format("ws://%s:%s/%s/%s.flv", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); + streamInfoResult.setHls(String.format("http://%s:%s/%s/%s/hls.m3u8", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); + streamInfoResult.setWs_hls(String.format("ws://%s:%s/%s/%s/hls.m3u8", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); + streamInfoResult.setFmp4(String.format("http://%s:%s/%s/%s.live.mp4", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); + streamInfoResult.setWs_fmp4(String.format("ws://%s:%s/%s/%s.live.mp4", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); + streamInfoResult.setTs(String.format("http://%s:%s/%s/%s.live.ts", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); + streamInfoResult.setWs_ts(String.format("ws://%s:%s/%s/%s.live.ts", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); + streamInfoResult.setRtc(String.format("http://%s:%s/index/api/webrtc?app=%s&stream=%s&type=play", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); streamInfoResult.setTracks(tracks); return streamInfoResult; } diff --git a/src/main/resources/all-application.yml b/src/main/resources/all-application.yml index 804da1d..e268375 100644 --- a/src/main/resources/all-application.yml +++ b/src/main/resources/all-application.yml @@ -68,10 +68,12 @@ # [鍙�塢 蹇冭烦瓒呮椂鏃堕棿锛� 寤鸿璁剧疆涓哄績璺冲懆鏈熺殑涓夊�� keepaliveTimeOut: 180 -#zlm鏈嶅姟鍣ㄩ厤缃� +#zlm 榛樿鏈嶅姟鍣ㄩ厤缃� media: # [蹇呴』淇敼] zlm鏈嶅姟鍣ㄧ殑鍐呯綉IP ip: 192.168.0.100 + # [鍙�塢 杩斿洖娴佸湴鍧�鏃剁殑ip锛岀疆绌轰娇鐢� media.ip + streamIp: # [鍙�塢 wvp鍦ㄥ浗鏍囦俊浠や腑浣跨敤鐨刬p锛屾ip涓烘憚鍍忔満鍙互璁块棶鍒扮殑ip锛� 缃┖浣跨敤 media.ip sdpIp: # [鍙�塢 zlm鏈嶅姟鍣ㄧ殑hook鎵�浣跨敤鐨処P, 榛樿浣跨敤sip.ip diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index b70bce4..96f7f6a 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -42,7 +42,7 @@ # [鍙�塢 榛樿璁惧璁よ瘉瀵嗙爜锛屽悗缁墿灞曚娇鐢ㄨ澶囧崟鐙瘑鐮�, 绉婚櫎瀵嗙爜灏嗕笉杩涜鏍¢獙 password: admin123 -#zlm鏈嶅姟鍣ㄩ厤缃� +#zlm 榛樿鏈嶅姟鍣ㄩ厤缃� media: # [蹇呴』淇敼] zlm鏈嶅姟鍣ㄧ殑鍐呯綉IP ip: 192.168.0.100 -- Gitblit v1.8.0