648540858
2023-08-16 985082d33930868c3cc1723f28fd9aaae9013a8f
src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java
@@ -2,9 +2,12 @@
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
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.util.StringUtils;
import org.springframework.core.annotation.Order;
import org.springframework.util.ObjectUtils;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -12,7 +15,10 @@
@Configuration("mediaConfig")
@Order(0)
public class MediaConfig{
    private final static Logger logger = LoggerFactory.getLogger(MediaConfig.class);
    // 修改必须配置,不再支持自动获取
    @Value("${media.id}")
@@ -21,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}")
@@ -63,18 +69,14 @@
    @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;
@@ -88,8 +90,8 @@
    }
    public String getHookIp() {
        if (StringUtils.isEmpty(hookIp)){
            return sipIp;
        if (ObjectUtils.isEmpty(hookIp)){
            return sipIp.split(",")[0];
        }else {
            return hookIp;
        }
@@ -145,10 +147,6 @@
        return secret;
    }
    public int getStreamNoneReaderDelayMS() {
        return streamNoneReaderDelayMS;
    }
    public boolean isRtpEnable() {
        return rtpEnable;
    }
@@ -162,7 +160,7 @@
    }
    public String getSdpIp() {
        if (StringUtils.isEmpty(sdpIp)){
        if (ObjectUtils.isEmpty(sdpIp)){
            return ip;
        }else {
            if (isValidIPAddress(sdpIp)) {
@@ -173,7 +171,7 @@
                try {
                    hostAddress = InetAddress.getByName(sdpIp).getHostAddress();
                } catch (UnknownHostException e) {
                    throw new RuntimeException(e);
                    logger.error("[获取SDP IP]: 域名解析失败");
                }
                return hostAddress;
            }
@@ -181,7 +179,7 @@
    }
    public String getStreamIp() {
        if (StringUtils.isEmpty(streamIp)){
        if (ObjectUtils.isEmpty(streamIp)){
            return ip;
        }else {
            return streamIp;
@@ -190,10 +188,6 @@
    public String getSipDomain() {
        return sipDomain;
    }
    public String getSendRtpPortRange() {
        return sendRtpPortRange;
    }
    public MediaServerItem getMediaSerItem(){
@@ -213,17 +207,24 @@
        mediaServerItem.setRtspSSLPort(rtspSSLPort);
        mediaServerItem.setAutoConfig(autoConfig);
        mediaServerItem.setSecret(secret);
        mediaServerItem.setStreamNoneReaderDelayMS(streamNoneReaderDelayMS);
        mediaServerItem.setRtpEnable(rtpEnable);
        mediaServerItem.setRtpPortRange(rtpPortRange);
        mediaServerItem.setSendRtpPortRange(sendRtpPortRange);
        mediaServerItem.setSendRtpPortRange(rtpSendPortRange);
        mediaServerItem.setRecordAssistPort(recordAssistPort);
        mediaServerItem.setHookAliveInterval(120);
        mediaServerItem.setHookAliveInterval(30.00f);
        mediaServerItem.setCreateTime(DateUtil.getNow());
        mediaServerItem.setUpdateTime(DateUtil.getNow());
        return mediaServerItem;
    }
    public String getRtpSendPortRange() {
        return rtpSendPortRange;
    }
    public void setRtpSendPortRange(String rtpSendPortRange) {
        this.rtpSendPortRange = rtpSendPortRange;
    }
    private boolean isValidIPAddress(String ipAddress) {
@@ -232,5 +233,4 @@
        }
        return false;
    }
}