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