From 6e8071d820aa55173e64fd25609caa3b6b9af98a Mon Sep 17 00:00:00 2001 From: bradyx <xushanbin@zdjtcm.com> Date: 星期三, 15 五月 2024 13:52:16 +0800 Subject: [PATCH] fix: 系统启动时,停止已启动国标推流抛出异常被系统捕获,启动服务失败。 --- src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java | 148 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 105 insertions(+), 43 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 3438893..eac7c11 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java @@ -1,11 +1,13 @@ package com.genersoft.iot.vmp.conf; -import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; +import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.utils.DateUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; +import org.springframework.core.annotation.Order; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import java.net.InetAddress; import java.net.UnknownHostException; @@ -13,7 +15,10 @@ @Configuration("mediaConfig") +@Order(0) public class MediaConfig{ + + private final static Logger logger = LoggerFactory.getLogger(MediaConfig.class); // 淇敼蹇呴』閰嶇疆锛屼笉鍐嶆敮鎸佽嚜鍔ㄨ幏鍙� @Value("${media.id}") @@ -22,7 +27,7 @@ @Value("${media.ip}") private String ip; - @Value("${media.hook-ip:${sip.ip}}") + @Value("${media.hook-ip:}") private String hookIp; @Value("${sip.ip}") @@ -37,11 +42,23 @@ @Value("${media.stream-ip:${media.ip}}") private String streamIp; - @Value("${media.http-port}") + @Value("${media.http-port:0}") private Integer httpPort; + + @Value("${media.flv-port:0}") + private Integer flvPort = 0; + + @Value("${media.ws-flv-port:0}") + private Integer wsFlvPort = 0; @Value("${media.http-ssl-port:0}") private Integer httpSSlPort = 0; + + @Value("${media.flv-ssl-port:0}") + private Integer flvSSlPort = 0; + + @Value("${media.ws-flv-ssl-port:0}") + private Integer wsFlvSSlPort = 0; @Value("${media.rtmp-port:0}") private Integer rtmpPort = 0; @@ -64,21 +81,26 @@ @Value("${media.secret}") private String secret; - @Value("${media.stream-none-reader-delay-ms:10000}") - private int streamNoneReaderDelayMS = 10000; - @Value("${media.rtp.enable}") private boolean rtpEnable; @Value("${media.rtp.port-range}") private String rtpPortRange; - @Value("${media.rtp.send-port-range}") - private String sendRtpPortRange; + private String rtpSendPortRange; @Value("${media.record-assist-port:0}") private Integer recordAssistPort = 0; + + @Value("${media.record-day:7}") + private Integer recordDay; + + @Value("${media.record-path:}") + private String recordPath; + + @Value("${media.type:zlm}") + private String type; public String getId() { return id; @@ -146,10 +168,6 @@ return secret; } - public int getStreamNoneReaderDelayMS() { - return streamNoneReaderDelayMS; - } - public boolean isRtpEnable() { return rtpEnable; } @@ -174,7 +192,7 @@ try { hostAddress = InetAddress.getByName(sdpIp).getHostAddress(); } catch (UnknownHostException e) { - throw new RuntimeException(e); + logger.error("[鑾峰彇SDP IP]: 鍩熷悕瑙f瀽澶辫触"); } return hostAddress; } @@ -193,38 +211,83 @@ return sipDomain; } - public String getSendRtpPortRange() { - return sendRtpPortRange; + public MediaServer getMediaSerItem(){ + MediaServer mediaServer = new MediaServer(); + mediaServer.setId(id); + mediaServer.setIp(ip); + mediaServer.setDefaultServer(true); + mediaServer.setHookIp(getHookIp()); + mediaServer.setSdpIp(getSdpIp()); + mediaServer.setStreamIp(getStreamIp()); + mediaServer.setHttpPort(httpPort); + if (flvPort == 0) { + mediaServer.setFlvPort(httpPort); + }else { + mediaServer.setFlvPort(flvPort); + } + if (wsFlvPort == 0) { + mediaServer.setWsFlvPort(httpPort); + }else { + mediaServer.setWsFlvPort(wsFlvPort); + } + if (flvSSlPort == 0) { + mediaServer.setFlvSSLPort(httpSSlPort); + }else { + mediaServer.setFlvSSLPort(flvSSlPort); + } + if (wsFlvSSlPort == 0) { + mediaServer.setWsFlvSSLPort(httpSSlPort); + }else { + mediaServer.setWsFlvSSLPort(wsFlvSSlPort); + } + + mediaServer.setHttpSSlPort(httpSSlPort); + mediaServer.setRtmpPort(rtmpPort); + mediaServer.setRtmpSSlPort(rtmpSSlPort); + mediaServer.setRtpProxyPort(getRtpProxyPort()); + mediaServer.setRtspPort(rtspPort); + mediaServer.setRtspSSLPort(rtspSSLPort); + mediaServer.setAutoConfig(autoConfig); + mediaServer.setSecret(secret); + mediaServer.setRtpEnable(rtpEnable); + mediaServer.setRtpPortRange(rtpPortRange); + mediaServer.setSendRtpPortRange(rtpSendPortRange); + mediaServer.setRecordAssistPort(recordAssistPort); + mediaServer.setHookAliveInterval(10f); + mediaServer.setRecordDay(recordDay); + mediaServer.setStatus(false); + mediaServer.setType(type); + if (recordPath != null) { + mediaServer.setRecordPath(recordPath); + } + mediaServer.setCreateTime(DateUtil.getNow()); + mediaServer.setUpdateTime(DateUtil.getNow()); + + return mediaServer; } - public MediaServerItem getMediaSerItem(){ - MediaServerItem mediaServerItem = new MediaServerItem(); - mediaServerItem.setId(id); - mediaServerItem.setIp(ip); - mediaServerItem.setDefaultServer(true); - mediaServerItem.setHookIp(getHookIp()); - mediaServerItem.setSdpIp(getSdpIp()); - mediaServerItem.setStreamIp(getStreamIp()); - mediaServerItem.setHttpPort(httpPort); - mediaServerItem.setHttpSSlPort(httpSSlPort); - mediaServerItem.setRtmpPort(rtmpPort); - mediaServerItem.setRtmpSSlPort(rtmpSSlPort); - mediaServerItem.setRtpProxyPort(getRtpProxyPort()); - mediaServerItem.setRtspPort(rtspPort); - mediaServerItem.setRtspSSLPort(rtspSSLPort); - mediaServerItem.setAutoConfig(autoConfig); - mediaServerItem.setSecret(secret); - mediaServerItem.setStreamNoneReaderDelayMS(streamNoneReaderDelayMS); - mediaServerItem.setRtpEnable(rtpEnable); - mediaServerItem.setRtpPortRange(rtpPortRange); - mediaServerItem.setSendRtpPortRange(sendRtpPortRange); - mediaServerItem.setRecordAssistPort(recordAssistPort); - mediaServerItem.setHookAliveInterval(120); + public Integer getRecordDay() { + return recordDay; + } - mediaServerItem.setCreateTime(DateUtil.getNow()); - mediaServerItem.setUpdateTime(DateUtil.getNow()); + public void setRecordDay(Integer recordDay) { + this.recordDay = recordDay; + } - return mediaServerItem; + public String getRecordPath() { + return recordPath; + } + + public void setRecordPath(String recordPath) { + this.recordPath = recordPath; + } + + public String getRtpSendPortRange() { + return rtpSendPortRange; + } + + public void setRtpSendPortRange(String rtpSendPortRange) { + this.rtpSendPortRange = rtpSendPortRange; } private boolean isValidIPAddress(String ipAddress) { @@ -233,5 +296,4 @@ } return false; } - } -- Gitblit v1.8.0