|  |  | 
 |  |  |  | 
 |  |  | 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.core.annotation.Order; | 
 |  |  | import org.springframework.util.ObjectUtils; | 
 |  |  | import org.springframework.util.StringUtils; | 
 |  |  |  | 
 |  |  | import java.net.InetAddress; | 
 |  |  | import java.net.UnknownHostException; | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | @Configuration("mediaConfig") | 
 |  |  | @Order(0) | 
 |  |  | public class MediaConfig{ | 
 |  |  |  | 
 |  |  |     private final static Logger logger = LoggerFactory.getLogger(MediaConfig.class); | 
 |  |  |  | 
 |  |  |     // 修改必须配置,不再支持自动获取 | 
 |  |  |     @Value("${media.id}") | 
 |  |  | 
 |  |  |     @Value("${media.ip}") | 
 |  |  |     private String ip; | 
 |  |  |  | 
 |  |  |     @Value("${media.hook-ip:${sip.ip}}") | 
 |  |  |     @Value("${media.hook-ip:}") | 
 |  |  |     private String hookIp; | 
 |  |  |  | 
 |  |  |     @Value("${sip.ip}") | 
 |  |  | 
 |  |  |     @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; | 
 |  |  | 
 |  |  |  | 
 |  |  |     public String getHookIp() { | 
 |  |  |         if (ObjectUtils.isEmpty(hookIp)){ | 
 |  |  |             return sipIp; | 
 |  |  |             return sipIp.split(",")[0]; | 
 |  |  |         }else { | 
 |  |  |             return hookIp; | 
 |  |  |         } | 
 |  |  | 
 |  |  |         return secret; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public int getStreamNoneReaderDelayMS() { | 
 |  |  |         return streamNoneReaderDelayMS; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public boolean isRtpEnable() { | 
 |  |  |         return rtpEnable; | 
 |  |  |     } | 
 |  |  | 
 |  |  |                 try { | 
 |  |  |                     hostAddress = InetAddress.getByName(sdpIp).getHostAddress(); | 
 |  |  |                 } catch (UnknownHostException e) { | 
 |  |  |                     throw new RuntimeException(e); | 
 |  |  |                     logger.error("[获取SDP IP]: 域名解析失败"); | 
 |  |  |                 } | 
 |  |  |                 return hostAddress; | 
 |  |  |             } | 
 |  |  | 
 |  |  |  | 
 |  |  |     public String getSipDomain() { | 
 |  |  |         return sipDomain; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getSendRtpPortRange() { | 
 |  |  |         return sendRtpPortRange; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public MediaServerItem getMediaSerItem(){ | 
 |  |  | 
 |  |  |         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) { | 
 |  |  | 
 |  |  |         } | 
 |  |  |         return false; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |