WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。支持国标级联,支持rtsp/rtmp等视频流转发到国标平台,支持rtsp/rtmp等推流转发到国标平台。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

357 lines
7.6 KiB

package com.genersoft.iot.vmp.conf;
import com.genersoft.iot.vmp.media.zlm.dto.IMediaServerItem;
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;
@Configuration("mediaConfig")
public class MediaConfig implements IMediaServerItem {
@Value("${media.id:}")
private String id;
@Value("${media.ip}")
private String ip;
@Value("${media.hook-ip:${sip.ip}}")
private String hookIp;
@Value("${sip.ip}")
private String sipIp;
@Value("${media.sdp-ip:${media.ip}}")
private String sdpIp;
@Value("${media.stream-ip:${media.ip}}")
private String streamIp;
@Value("${media.http-port}")
private Integer httpPort;
@Value("${media.http-ssl-port:0}")
private Integer httpSSlPort;
@Value("${media.rtmp-port:0}")
private Integer rtmpPort;
@Value("${media.rtmp-ssl-port:0}")
private Integer rtmpSSlPort;
@Value("${media.rtp-proxy-port:0}")
private Integer rtpProxyPort;
@Value("${media.rtsp-port:0}")
private Integer rtspPort;
@Value("${media.rtsp-ssl-port:0}")
private Integer rtspSSLPort;
@Value("${media.auto-config:true}")
private boolean autoConfig;
@Value("${media.secret}")
private String secret;
@Value("${media.stream-none-reader-delay-ms:18000}")
private String streamNoneReaderDelayMS;
@Value("${media.rtp.enable}")
private boolean rtpEnable;
@Value("${media.rtp.port-range}")
private String rtpPortRange;
@Value("${media.record-assist-port:0}")
private Integer recordAssistPort;
private String updateTime;
private String createTime;
private boolean docker = false;
private int count;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getHookIp() {
if (StringUtils.isEmpty(hookIp)){
return sipIp;
}else {
return hookIp;
}
}
public void setHookIp(String hookIp) {
this.hookIp = hookIp;
}
public String getSipIp() {
return sipIp;
}
public void setSipIp(String sipIp) {
this.sipIp = sipIp;
}
public void setSdpIp(String sdpIp) {
this.sdpIp = sdpIp;
}
public void setStreamIp(String streamIp) {
this.streamIp = streamIp;
}
public int getHttpPort() {
return httpPort;
}
@Override
public void setHttpPort(int httpPort) {
}
public void setHttpPort(Integer httpPort) {
this.httpPort = httpPort;
}
public int getHttpSSlPort() {
return httpSSlPort;
}
@Override
public void setHttpSSlPort(int httpSSlPort) {
}
public void setHttpSSlPort(Integer httpSSlPort) {
this.httpSSlPort = httpSSlPort;
}
public int getRtmpPort() {
return rtmpPort;
}
@Override
public void setRtmpPort(int rtmpPort) {
}
public void setRtmpPort(Integer rtmpPort) {
this.rtmpPort = rtmpPort;
}
public int getRtmpSSlPort() {
return rtmpSSlPort;
}
@Override
public void setRtmpSSlPort(int rtmpSSlPort) {
}
public void setRtmpSSlPort(Integer rtmpSSlPort) {
this.rtmpSSlPort = rtmpSSlPort;
}
public int getRtpProxyPort() {
if (rtpProxyPort == null) {
return 0;
}else {
return rtpProxyPort;
}
}
@Override
public void setRtpProxyPort(int rtpProxyPort) {
}
public void setRtpProxyPort(Integer rtpProxyPort) {
this.rtpProxyPort = rtpProxyPort;
}
public int getRtspPort() {
return rtspPort;
}
@Override
public void setRtspPort(int rtspPort) {
}
public void setRtspPort(Integer rtspPort) {
this.rtspPort = rtspPort;
}
public int getRtspSSLPort() {
return rtspSSLPort;
}
@Override
public void setRtspSSLPort(int rtspSSLPort) {
}
public void setRtspSSLPort(Integer rtspSSLPort) {
this.rtspSSLPort = rtspSSLPort;
}
public boolean isAutoConfig() {
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 int getRecordAssistPort() {
return recordAssistPort;
}
@Override
public void setRecordAssistPort(int recordAssistPort) {
}
public void setRecordAssistPort(Integer recordAssistPort) {
this.recordAssistPort = recordAssistPort;
}
@Override
public boolean isDocker() {
return docker;
}
@Override
public void setDocker(boolean docker) {
this.docker = docker;
}
public String getSdpIp() {
if (StringUtils.isEmpty(sdpIp)){
return ip;
}else {
return sdpIp;
}
}
public String getStreamIp() {
if (StringUtils.isEmpty(streamIp)){
return ip;
}else {
return streamIp;
}
}
public MediaServerItem getMediaSerItem(){
MediaServerItem mediaServerItem = new MediaServerItem();
mediaServerItem.setId(id);
mediaServerItem.setIp(ip);
mediaServerItem.setDocker(true);
mediaServerItem.setHookIp(hookIp);
mediaServerItem.setSdpIp(sdpIp);
mediaServerItem.setStreamIp(streamIp);
mediaServerItem.setHttpPort(httpPort);
mediaServerItem.setHttpSSlPort(httpSSlPort);
mediaServerItem.setRtmpPort(rtmpPort);
mediaServerItem.setRtmpSSlPort(rtmpSSlPort);
mediaServerItem.setRtpProxyPort(rtpProxyPort);
mediaServerItem.setRtspPort(rtspPort);
mediaServerItem.setRtspSSLPort(rtspSSLPort);
mediaServerItem.setAutoConfig(autoConfig);
mediaServerItem.setSecret(secret);
mediaServerItem.setStreamNoneReaderDelayMS(streamNoneReaderDelayMS);
mediaServerItem.setRtpEnable(rtpEnable);
mediaServerItem.setRtpPortRange(rtpPortRange);
mediaServerItem.setRecordAssistPort(recordAssistPort);
mediaServerItem.setCreateTime(createTime);
mediaServerItem.setUpdateTime(updateTime);
mediaServerItem.setCount(count);
return mediaServerItem;
}
@Override
public String getUpdateTime() {
return updateTime;
}
@Override
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
@Override
public String getCreateTime() {
return createTime;
}
@Override
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
@Override
public int getCount() {
return count;
}
@Override
public void setCount(int count) {
this.count = count;
}
}