From 5a3a346c59df80fc36895e3f61a01d575d87a304 Mon Sep 17 00:00:00 2001 From: Lawrence <1934378145@qq.com> Date: Mon, 11 Jan 2021 23:40:43 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=9D=9E=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E7=AB=AF=E5=8F=A3=E6=97=A0=E6=B3=95Send=20Bye?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java index b3447f95..e12483f7 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java @@ -531,7 +531,10 @@ public class SIPCommander implements ISIPCommander { Pattern p = Pattern.compile("(\\d+\\.\\d+\\.\\d+\\.\\d+)\\:(\\d+)"); Matcher matcher = p.matcher(vh); if (matcher.find()) { - byeURI.setHost(matcher.group(1)); + String ip = matcher.group(1); + byeURI.setHost(ip); + String port = matcher.group(2); + byeURI.setPort(Integer.parseInt(port)); } ViaHeader viaHeader = (ViaHeader) byeRequest.getHeader(ViaHeader.NAME); String protocol = viaHeader.getTransport().toUpperCase(); From dd0a234c051c451143137ebb5bfbd2d789a6d2f5 Mon Sep 17 00:00:00 2001 From: Lawrence <1934378145@qq.com> Date: Tue, 12 Jan 2021 13:48:42 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=BF=9B=E4=B8=80=E6=AD=A5=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=BD=95=E5=83=8F=E5=88=97=E8=A1=A8=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transmit/request/impl/MessageRequestProcessor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java index c5ae4f5d..fbdc7e26 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java @@ -342,7 +342,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { try { // 回复200 OK responseAck(evt); - String seqNo = String.valueOf(System.currentTimeMillis()); + String uuid = UUID.randomUUID().toString().replace("-", ""); RecordInfo recordInfo = new RecordInfo(); Element rootElement = getRootElement(evt); Element deviceIdElement = rootElement.element("DeviceID"); @@ -398,7 +398,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { // 为防止连续请求该设备的录像数据,返回数据错乱,特增加sn进行区分 String cacheKey = CACHE_RECORDINFO_KEY + deviceId + sn; - redis.set(cacheKey + "_" + seqNo, recordList, 90); + redis.set(cacheKey + "_" + uuid, recordList, 90); List cacheKeys = redis.scan(cacheKey + "_*"); List totalRecordList = new ArrayList(); for (int i = 0; i < cacheKeys.size(); i++) { From 5257c7c9f4b7ef3e8ef074c2fb2fc582f3bdcf05 Mon Sep 17 00:00:00 2001 From: Lawrence <1934378145@qq.com> Date: Tue, 12 Jan 2021 13:50:04 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=B8=8Emaster=E5=88=86=E6=94=AF=E5=90=8C?= =?UTF-8?q?=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java | 7 +------ web_src/src/components/gb28181/devicePlayer.vue | 8 +++++++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java index e12483f7..7ff5d14a 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java @@ -409,12 +409,7 @@ public class SIPCommander implements ISIPCommander { try { MediaServerConfig mediaInfo = redisCatchStorage.getMediaInfo(); String ssrc = streamSession.createPlayBackSsrc(); - String streamId = null; - if (rtpEnable) { - streamId = String.format("gb_playback_%s_%s", device.getDeviceId(), channelId); - }else { - streamId = String.format("%08x", Integer.parseInt(ssrc)).toUpperCase(); - } + String streamId = String.format("%08x", Integer.parseInt(ssrc)).toUpperCase(); // 添加订阅 JSONObject subscribeKey = new JSONObject(); subscribeKey.put("app", "rtp"); diff --git a/web_src/src/components/gb28181/devicePlayer.vue b/web_src/src/components/gb28181/devicePlayer.vue index 329503a3..23418319 100644 --- a/web_src/src/components/gb28181/devicePlayer.vue +++ b/web_src/src/components/gb28181/devicePlayer.vue @@ -183,7 +183,8 @@ export default { scanGroup: 0, tracks: [], coverPlaying:false, - tracksLoading: false + tracksLoading: false, + recordPlay: "" }; }, methods: { @@ -318,6 +319,10 @@ export default { this.convertStop(); } this.convertKey = '' + if (this.recordPlay != '') { + this.stopPlayRecord(); + } + this.recordPlay = '' }, copySharedInfo: function (data) { @@ -384,6 +389,7 @@ export default { var streamInfo = res.data; that.streamId = streamInfo.streamId; that.videoUrl = streamInfo.ws_flv; + that.recordPlay = true; }); } },