package com.zksy.visualization.domain.response;

import com.dahuatech.icc.oauth.http.IccResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 实时拉流返回
 */
@Data
public class RtspUrlResponse {

    @ApiModelProperty(value = "RTSP令牌（有效时间30秒，请及时建立连接），仅能播放一次，失效后重新请求获取", example = "61", required = true)
    private String token;

    @ApiModelProperty(value = "RTSP地址，完整的播放地址需拼接RTSP令牌访问，RTSP令牌为此接口返回的token字段", example = "rtsp://172.16.100.2:9100/dss/monitor/param/cameraid=1000018%240%26substream=1", required = true)
    private String url;

    @ApiModelProperty(value = "轨道ID")
    private String trackId;

    @Deprecated
    @ApiModelProperty(value = "(已废弃)最低码流，要求客户具备的最低码流")
    private String minRate;

    @Deprecated
    @ApiModelProperty(value = "(已废弃)协议：1=CNM3, 2=RTSP")
    private String protocol;

    @Deprecated
    @ApiModelProperty(value = "(已废弃)IP地址，根据类型可能是转发服务器IP，也可能是设备IP")
    private String ip;

    @Deprecated
    @ApiModelProperty(value = "(已废弃)端口")
    private String port;

    @Deprecated
    @ApiModelProperty(value = "(已废弃)是否支持STUN协议：1=支持, 0=不支持")
    private String stunEnable;

    @Deprecated
    @ApiModelProperty(value = "(已废弃)STUN协议端口")
    private String stunPort;

    @ApiModelProperty(value = "URL列表")
    private List<String> urlList;

    @Deprecated
    @ApiModelProperty(value = "(已废弃)类型：1=转发模式，2=直连模式")
    private String connectType;

    @Deprecated
    @ApiModelProperty(value = "(已废弃)转发会话ID")
    private String session;

    @ApiModelProperty(value = "内网IP地址", example = "172.16.100.2", required = true)
    private String innerIp;

    @ApiModelProperty(value = "是否压缩", example = "false", required = true)
    private boolean compress;

    @Deprecated
    @ApiModelProperty(value = "(已废弃)流类型")
    private String stream;

    @ApiModelProperty(value = "可达性")
    private Boolean reachable;

    @ApiModelProperty(value = "WebSocket直接连接标志", example = "0", required = true)
    private int wssDirect;

    @ApiModelProperty(value = "网络标志")
    private String netFlag;
}
