From 9de1bef82147389a524f2096d99d9a7aa5440538 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 12 一月 2021 14:09:12 +0800
Subject: [PATCH] Merge pull request #34 from lawrencehj/wvp-28181-2.0

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java                |   12 +++++-------
 web_src/src/components/gb28181/devicePlayer.vue                                                |    8 +++++++-
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java |    4 ++--
 3 files changed, 14 insertions(+), 10 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 b3447f9..7ff5d14 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 @@
 		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");
@@ -531,7 +526,10 @@
 			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();
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 c5ae4f5..fbdc7e2 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 @@
 		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 @@
 					// 涓洪槻姝㈣繛缁姹傝璁惧鐨勫綍鍍忔暟鎹紝杩斿洖鏁版嵁閿欎贡锛岀壒澧炲姞sn杩涜鍖哄垎
 					String cacheKey = CACHE_RECORDINFO_KEY + deviceId + sn;
 
-					redis.set(cacheKey + "_" + seqNo, recordList, 90);
+					redis.set(cacheKey + "_" + uuid, recordList, 90);
 					List<Object> cacheKeys = redis.scan(cacheKey + "_*");
 					List<RecordItem> totalRecordList = new ArrayList<RecordItem>();
 					for (int i = 0; i < cacheKeys.size(); i++) {
diff --git a/web_src/src/components/gb28181/devicePlayer.vue b/web_src/src/components/gb28181/devicePlayer.vue
index 329503a..2341831 100644
--- a/web_src/src/components/gb28181/devicePlayer.vue
+++ b/web_src/src/components/gb28181/devicePlayer.vue
@@ -183,7 +183,8 @@
             scanGroup: 0,
             tracks: [],
             coverPlaying:false,
-            tracksLoading: false
+            tracksLoading: false,
+            recordPlay: ""
         };
     },
     methods: {
@@ -318,6 +319,10 @@
               this.convertStop();
             }
             this.convertKey = ''
+            if (this.recordPlay != '') {
+              this.stopPlayRecord();
+            }
+            this.recordPlay = ''
         },
 
         copySharedInfo: function (data) {
@@ -384,6 +389,7 @@
                     var streamInfo = res.data;
                     that.streamId = streamInfo.streamId;
                     that.videoUrl = streamInfo.ws_flv;
+                    that.recordPlay = true;
                 });
             }
         },

--
Gitblit v1.8.0