From c69b64c756770067c8c89d1f2f2fb80d4a88031f Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 28 五月 2024 10:23:17 +0800 Subject: [PATCH] 修复CSEQ重置错误 #1449 --- src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java | 260 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 255 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java old mode 100644 new mode 100755 index 2c9c494..55f09df --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java @@ -1,5 +1,9 @@ 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 { /** @@ -21,6 +25,11 @@ * 骞冲彴id */ private String platformId; + + /** + * 骞冲彴鍚嶇О + */ + private String platformName; /** * 瀵瑰簲璁惧id @@ -49,7 +58,7 @@ /** * 璁惧鎺ㄦ祦鐨剆treamId */ - private String streamId; + private String stream; /** * 鏄惁涓簍cp @@ -62,6 +71,11 @@ private boolean tcpActive; /** + * 鑷繁鎺ㄦ祦浣跨敤鐨処P + */ + private String localIp; + + /** * 鑷繁鎺ㄦ祦浣跨敤鐨勭鍙� */ private int localPort; @@ -70,6 +84,95 @@ * 浣跨敤鐨勬祦濯掍綋 */ private String mediaServerId; + + /** + * 浣跨敤鐨勬湇鍔$殑ID + */ + private String serverId; + + /** + * invite 鐨� callId + */ + private String callId; + + /** + * invite 鐨� fromTag + */ + private String fromTag; + + /** + * invite 鐨� toTag + */ + private String toTag; + + /** + * 鍙戦�佹椂锛宺tp鐨刾t锛坲int8_t锛�,涓嶄紶鏃堕粯璁や负96 + */ + private int pt = 96; + + /** + * 鍙戦�佹椂锛宺tp鐨勮礋杞界被鍨嬨�備负true鏃讹紝璐熻浇涓簆s锛涗负false鏃讹紝涓篹s锛� + */ + private boolean usePs = true; + + /** + * 褰搖sePs 涓篺alse鏃讹紝鏈夋晥銆備负1鏃讹紝鍙戦�侀煶棰戯紱涓�0鏃讹紝鍙戦�佽棰戯紱涓嶄紶鏃堕粯璁や负0 + */ + private boolean onlyAudio = false; + + /** + * 鏄惁寮�鍚痳tcp淇濇椿 + */ + 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; @@ -135,12 +238,12 @@ this.app = app; } - public String getStreamId() { - return streamId; + public String getStream() { + return stream; } - public void setStreamId(String streamId) { - this.streamId = streamId; + public void setStream(String stream) { + this.stream = stream; } public boolean isTcp() { @@ -174,4 +277,151 @@ 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; + } } -- Gitblit v1.8.0