package com.genersoft.iot.vmp.gb28181.bean;
|
|
import com.genersoft.iot.vmp.service.bean.RequestPushStreamMsg;
|
|
import com.genersoft.iot.vmp.common.VideoManagerConstants;
|
|
public class SendRtpItem {
|
|
/**
|
* 推流ip
|
*/
|
private String ip;
|
|
/**
|
* 推流端口
|
*/
|
private int port;
|
|
/**
|
* 推流标识
|
*/
|
private String ssrc;
|
|
/**
|
* 平台id
|
*/
|
private String platformId;
|
|
/**
|
* 平台名称
|
*/
|
private String platformName;
|
|
/**
|
* 对应设备id
|
*/
|
private String deviceId;
|
|
/**
|
* 直播流的应用名
|
*/
|
private String app;
|
|
/**
|
* 通道id
|
*/
|
private String channelId;
|
|
/**
|
* 推流状态
|
* 0 等待设备推流上来
|
* 1 等待上级平台回复ack
|
* 2 推流中
|
*/
|
private int status = 0;
|
|
|
/**
|
* 设备推流的streamId
|
*/
|
private String stream;
|
|
/**
|
* 是否为tcp
|
*/
|
private boolean tcp;
|
|
/**
|
* 是否为tcp主动模式
|
*/
|
private boolean tcpActive;
|
|
/**
|
* 自己推流使用的IP
|
*/
|
private String localIp;
|
|
/**
|
* 自己推流使用的端口
|
*/
|
private int localPort;
|
|
/**
|
* 使用的流媒体
|
*/
|
private String mediaServerId;
|
|
/**
|
* 使用的服务的ID
|
*/
|
private String serverId;
|
|
/**
|
* invite 的 callId
|
*/
|
private String callId;
|
|
/**
|
* invite 的 fromTag
|
*/
|
private String fromTag;
|
|
/**
|
* invite 的 toTag
|
*/
|
private String toTag;
|
|
/**
|
* 发送时,rtp的pt(uint8_t),不传时默认为96
|
*/
|
private int pt = 96;
|
|
/**
|
* 发送时,rtp的负载类型。为true时,负载为ps;为false时,为es;
|
*/
|
private boolean usePs = true;
|
|
/**
|
* 当usePs 为false时,有效。为1时,发送音频;为0时,发送视频;不传时默认为0
|
*/
|
private boolean onlyAudio = false;
|
|
/**
|
* 是否开启rtcp保活
|
*/
|
private boolean rtcp = false;
|
|
|
/**
|
* 播放类型
|
*/
|
private InviteStreamType playType;
|
|
/**
|
* 发流的同时收流
|
*/
|
private String receiveStream;
|
|
/**
|
* 上级的点播类型
|
*/
|
private String sessionName;
|
|
public static SendRtpItem getInstance(RequestPushStreamMsg requestPushStreamMsg) {
|
SendRtpItem sendRtpItem = new SendRtpItem();
|
sendRtpItem.setMediaServerId(requestPushStreamMsg.getMediaServerId());
|
sendRtpItem.setApp(requestPushStreamMsg.getApp());
|
sendRtpItem.setStream(requestPushStreamMsg.getStream());
|
sendRtpItem.setIp(requestPushStreamMsg.getIp());
|
sendRtpItem.setPort(requestPushStreamMsg.getPort());
|
sendRtpItem.setSsrc(requestPushStreamMsg.getSsrc());
|
sendRtpItem.setTcp(requestPushStreamMsg.isTcp());
|
sendRtpItem.setLocalPort(requestPushStreamMsg.getSrcPort());
|
sendRtpItem.setPt(requestPushStreamMsg.getPt());
|
sendRtpItem.setUsePs(requestPushStreamMsg.isPs());
|
sendRtpItem.setOnlyAudio(requestPushStreamMsg.isOnlyAudio());
|
return sendRtpItem;
|
|
}
|
|
public static SendRtpItem getInstance(String app, String stream, String ssrc, String dstIp, Integer dstPort, boolean tcp, int sendLocalPort, Integer pt) {
|
SendRtpItem sendRtpItem = new SendRtpItem();
|
sendRtpItem.setApp(app);
|
sendRtpItem.setStream(stream);
|
sendRtpItem.setSsrc(ssrc);
|
sendRtpItem.setTcp(tcp);
|
sendRtpItem.setLocalPort(sendLocalPort);
|
sendRtpItem.setIp(dstIp);
|
sendRtpItem.setPort(dstPort);
|
if (pt != null) {
|
sendRtpItem.setPt(pt);
|
}
|
|
return sendRtpItem;
|
}
|
|
public String getIp() {
|
return ip;
|
}
|
|
public void setIp(String ip) {
|
this.ip = ip;
|
}
|
|
public int getPort() {
|
return port;
|
}
|
|
public void setPort(int port) {
|
this.port = port;
|
}
|
|
public String getSsrc() {
|
return ssrc;
|
}
|
|
public void setSsrc(String ssrc) {
|
this.ssrc = ssrc;
|
}
|
|
public String getPlatformId() {
|
return platformId;
|
}
|
|
public void setPlatformId(String platformId) {
|
this.platformId = platformId;
|
}
|
|
public String getDeviceId() {
|
return deviceId;
|
}
|
|
public void setDeviceId(String deviceId) {
|
this.deviceId = deviceId;
|
}
|
|
public String getChannelId() {
|
return channelId;
|
}
|
|
public void setChannelId(String channelId) {
|
this.channelId = channelId;
|
}
|
|
public int getStatus() {
|
return status;
|
}
|
|
public void setStatus(int status) {
|
this.status = status;
|
}
|
|
public String getApp() {
|
return app;
|
}
|
|
public void setApp(String app) {
|
this.app = app;
|
}
|
|
public String getStream() {
|
return stream;
|
}
|
|
public void setStream(String stream) {
|
this.stream = stream;
|
}
|
|
public boolean isTcp() {
|
return tcp;
|
}
|
|
public void setTcp(boolean tcp) {
|
this.tcp = tcp;
|
}
|
|
public int getLocalPort() {
|
return localPort;
|
}
|
|
public void setLocalPort(int localPort) {
|
this.localPort = localPort;
|
}
|
|
public boolean isTcpActive() {
|
return tcpActive;
|
}
|
|
public void setTcpActive(boolean tcpActive) {
|
this.tcpActive = tcpActive;
|
}
|
|
public String getMediaServerId() {
|
return mediaServerId;
|
}
|
|
public void setMediaServerId(String mediaServerId) {
|
this.mediaServerId = mediaServerId;
|
}
|
|
public String getCallId() {
|
return callId;
|
}
|
|
public void setCallId(String callId) {
|
this.callId = callId;
|
}
|
|
public InviteStreamType getPlayType() {
|
return playType;
|
}
|
|
public void setPlayType(InviteStreamType playType) {
|
this.playType = playType;
|
}
|
|
public int getPt() {
|
return pt;
|
}
|
|
public void setPt(int pt) {
|
this.pt = pt;
|
}
|
|
public boolean isUsePs() {
|
return usePs;
|
}
|
|
public void setUsePs(boolean usePs) {
|
this.usePs = usePs;
|
}
|
|
public boolean isOnlyAudio() {
|
return onlyAudio;
|
}
|
|
public void setOnlyAudio(boolean onlyAudio) {
|
this.onlyAudio = onlyAudio;
|
}
|
|
public String getServerId() {
|
return serverId;
|
}
|
|
public void setServerId(String serverId) {
|
this.serverId = serverId;
|
}
|
|
public String getFromTag() {
|
return fromTag;
|
}
|
|
public void setFromTag(String fromTag) {
|
this.fromTag = fromTag;
|
}
|
|
public String getToTag() {
|
return toTag;
|
}
|
|
public void setToTag(String toTag) {
|
this.toTag = toTag;
|
}
|
|
public boolean isRtcp() {
|
return rtcp;
|
}
|
|
public void setRtcp(boolean rtcp) {
|
this.rtcp = rtcp;
|
}
|
|
public String getReceiveStream() {
|
return receiveStream;
|
}
|
|
public void setReceiveStream(String receiveStream) {
|
this.receiveStream = receiveStream;
|
}
|
|
public String getPlatformName() {
|
return platformName;
|
}
|
|
public void setPlatformName(String platformName) {
|
this.platformName = platformName;
|
}
|
|
public String getLocalIp() {
|
return localIp;
|
}
|
|
public void setLocalIp(String localIp) {
|
this.localIp = localIp;
|
}
|
|
public String getSessionName() {
|
return sessionName;
|
}
|
|
public void setSessionName(String sessionName) {
|
this.sessionName = sessionName;
|
}
|
|
@Override
|
public String toString() {
|
return "SendRtpItem{" +
|
"ip='" + ip + '\'' +
|
", port=" + port +
|
", ssrc='" + ssrc + '\'' +
|
", platformId='" + platformId + '\'' +
|
", platformName='" + platformName + '\'' +
|
", deviceId='" + deviceId + '\'' +
|
", app='" + app + '\'' +
|
", channelId='" + channelId + '\'' +
|
", status=" + status +
|
", stream='" + stream + '\'' +
|
", tcp=" + tcp +
|
", tcpActive=" + tcpActive +
|
", localIp='" + localIp + '\'' +
|
", localPort=" + localPort +
|
", mediaServerId='" + mediaServerId + '\'' +
|
", serverId='" + serverId + '\'' +
|
", CallId='" + callId + '\'' +
|
", fromTag='" + fromTag + '\'' +
|
", toTag='" + toTag + '\'' +
|
", pt=" + pt +
|
", usePs=" + usePs +
|
", onlyAudio=" + onlyAudio +
|
", rtcp=" + rtcp +
|
", playType=" + playType +
|
", receiveStream='" + receiveStream + '\'' +
|
", sessionName='" + sessionName + '\'' +
|
'}';
|
}
|
|
public String getRedisKey() {
|
String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX +
|
serverId + "_"
|
+ mediaServerId + "_"
|
+ platformId + "_"
|
+ channelId + "_"
|
+ stream + "_"
|
+ callId;
|
return key;
|
}
|
}
|