648540858
2024-03-28 1de344674afd6bb35b51b165bbad76dbe6299b7e
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java
old mode 100644 new mode 100755
@@ -1,72 +1,90 @@
package com.genersoft.iot.vmp.media.zlm.dto;
import com.genersoft.iot.vmp.gb28181.session.SsrcConfig;
import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig;
import org.springframework.util.StringUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.util.ObjectUtils;
import java.util.HashMap;
@Schema(description = "流媒体服务信息")
public class MediaServerItem{
    @Schema(description = "ID")
    private String id;
    @Schema(description = "IP")
    private String ip;
    @Schema(description = "hook使用的IP(zlm访问WVP使用的IP)")
    private String hookIp;
    @Schema(description = "SDP IP")
    private String sdpIp;
    @Schema(description = "流IP")
    private String streamIp;
    @Schema(description = "HTTP端口")
    private int httpPort;
    @Schema(description = "HTTPS端口")
    private int httpSSlPort;
    @Schema(description = "RTMP端口")
    private int rtmpPort;
    @Schema(description = "RTMPS端口")
    private int rtmpSSlPort;
    @Schema(description = "RTP收流端口(单端口模式有用)")
    private int rtpProxyPort;
    @Schema(description = "RTSP端口")
    private int rtspPort;
    @Schema(description = "RTSPS端口")
    private int rtspSSLPort;
    @Schema(description = "是否开启自动配置ZLM")
    private boolean autoConfig;
    @Schema(description = "ZLM鉴权参数")
    private String secret;
    private int streamNoneReaderDelayMS;
    @Schema(description = "keepalive hook触发间隔,单位秒")
    private Float hookAliveInterval;
    @Schema(description = "是否使用多端口模式")
    private boolean rtpEnable;
    @Schema(description = "状态")
    private boolean status;
    @Schema(description = "多端口RTP收流端口范围")
    private String rtpPortRange;
    @Schema(description = "RTP发流端口范围")
    private String sendRtpPortRange;
    @Schema(description = "assist服务端口")
    private int recordAssistPort;
    @Schema(description = "创建时间")
    private String createTime;
    @Schema(description = "更新时间")
    private String updateTime;
    @Schema(description = "上次心跳时间")
    private String lastKeepaliveTime;
    @Schema(description = "是否是默认ZLM")
    private boolean defaultServer;
    private SsrcConfig ssrcConfig;
    @Schema(description = "录像存储时长")
    private int recordDay;
    private int currentPort;
    /**
     * 每一台ZLM都有一套独立的SSRC列表
     * 在ApplicationCheckRunner里对mediaServerSsrcMap进行初始化
     */
    private HashMap<String, SsrcConfig> mediaServerSsrcMap;
    @Schema(description = "录像存储路径")
    private String recordPath;
    public MediaServerItem() {
    }
@@ -74,9 +92,9 @@
    public MediaServerItem(ZLMServerConfig zlmServerConfig, String sipIp) {
        id = zlmServerConfig.getGeneralMediaServerId();
        ip = zlmServerConfig.getIp();
        hookIp = StringUtils.isEmpty(zlmServerConfig.getHookIp())? sipIp: zlmServerConfig.getHookIp();
        sdpIp = StringUtils.isEmpty(zlmServerConfig.getSdpIp())? zlmServerConfig.getIp(): zlmServerConfig.getSdpIp();
        streamIp = StringUtils.isEmpty(zlmServerConfig.getStreamIp())? zlmServerConfig.getIp(): zlmServerConfig.getStreamIp();
        hookIp = ObjectUtils.isEmpty(zlmServerConfig.getHookIp())? sipIp: zlmServerConfig.getHookIp();
        sdpIp = ObjectUtils.isEmpty(zlmServerConfig.getSdpIp())? zlmServerConfig.getIp(): zlmServerConfig.getSdpIp();
        streamIp = ObjectUtils.isEmpty(zlmServerConfig.getStreamIp())? zlmServerConfig.getIp(): zlmServerConfig.getStreamIp();
        httpPort = zlmServerConfig.getHttpPort();
        httpSSlPort = zlmServerConfig.getHttpSSLport();
        rtmpPort = zlmServerConfig.getRtmpPort();
@@ -86,10 +104,9 @@
        rtspSSLPort = zlmServerConfig.getRtspSSlport();
        autoConfig = true; // 默认值true;
        secret = zlmServerConfig.getApiSecret();
        streamNoneReaderDelayMS = zlmServerConfig.getGeneralStreamNoneReaderDelayMS();
        hookAliveInterval = zlmServerConfig.getHookAliveInterval();
        rtpEnable = false; // 默认使用单端口;直到用户自己设置开启多端口
        rtpPortRange = "30000,30500"; // 默认使用30000,30500作为级联时发送流的端口号
        sendRtpPortRange = "30000,30500"; // 默认使用30000,30500作为级联时发送流的端口号
        rtpPortRange = zlmServerConfig.getPortRange().replace("_",","); // 默认使用30000,30500作为级联时发送流的端口号
        recordAssistPort = 0; // 默认关闭
    }
@@ -206,14 +223,6 @@
        this.secret = secret;
    }
    public int getStreamNoneReaderDelayMS() {
        return streamNoneReaderDelayMS;
    }
    public void setStreamNoneReaderDelayMS(int streamNoneReaderDelayMS) {
        this.streamNoneReaderDelayMS = streamNoneReaderDelayMS;
    }
    public boolean isRtpEnable() {
        return rtpEnable;
    }
@@ -262,30 +271,6 @@
        this.updateTime = updateTime;
    }
    public HashMap<String, SsrcConfig> getMediaServerSsrcMap() {
        return mediaServerSsrcMap;
    }
    public void setMediaServerSsrcMap(HashMap<String, SsrcConfig> mediaServerSsrcMap) {
        this.mediaServerSsrcMap = mediaServerSsrcMap;
    }
    public SsrcConfig getSsrcConfig() {
        return ssrcConfig;
    }
    public void setSsrcConfig(SsrcConfig ssrcConfig) {
        this.ssrcConfig = ssrcConfig;
    }
    public int getCurrentPort() {
        return currentPort;
    }
    public void setCurrentPort(int currentPort) {
        this.currentPort = currentPort;
    }
    public boolean isStatus() {
        return status;
    }
@@ -302,6 +287,14 @@
        this.lastKeepaliveTime = lastKeepaliveTime;
    }
    public Float getHookAliveInterval() {
        return hookAliveInterval;
    }
    public void setHookAliveInterval(Float hookAliveInterval) {
        this.hookAliveInterval = hookAliveInterval;
    }
    public String getSendRtpPortRange() {
        return sendRtpPortRange;
    }
@@ -309,4 +302,20 @@
    public void setSendRtpPortRange(String sendRtpPortRange) {
        this.sendRtpPortRange = sendRtpPortRange;
    }
    public int getRecordDay() {
        return recordDay;
    }
    public void setRecordDay(int recordDay) {
        this.recordDay = recordDay;
    }
    public String getRecordPath() {
        return recordPath;
    }
    public void setRecordPath(String recordPath) {
        this.recordPath = recordPath;
    }
}