From 8d6de7242957737e571f44503f686a8aa39e9b61 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 02 六月 2023 16:40:19 +0800 Subject: [PATCH] 优化日志 --- src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java | 61 ++++++++++-------------------- doc/_media/903207146.jpg | 0 src/main/java/com/genersoft/iot/vmp/gb28181/session/SSRCFactory.java | 14 ++++-- doc/README.md | 24 ++++++------ doc/_media/1372762149.jpg | 0 pom.xml | 2 README.md | 3 + 7 files changed, 45 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 572746d..10cd12a 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ ZLM浣跨敤鏂囨。 [https://github.com/ZLMediaKit/ZLMediaKit](https://github.com/ZLMediaKit/ZLMediaKit) > wvp鏂囨。鐢眊itee鎻愪緵鏈嶅姟锛屽鏋滈亣鍒版墦涓嶅紑璇峰鍒锋柊鍑犳銆� -# 绀剧兢鍦板潃 +# 浠樿垂绀剧兢 [](https://t.zsxq.com/0d8VAD3Dm) > 鏀惰垂鏄负浜嗘彁渚涙洿濂界殑鏈嶅姟锛屼篃鏄浣滆�呮洿澶х殑婵�鍔便�傚姞鍏ユ槦鐞冪殑鐢ㄦ埛涓夊ぉ鍚庡彲浠ョ淇℃垜鐣欎笅寰俊鍙凤紝鎴戜細鎷夊ぇ瀹跺叆缇ゃ�傚姞鍏ヤ笁澶╁唴涓嶆弧鎰忓彲浠ョ洿鎺ラ��娆撅紝澶у涓嶉渶瑕佹湁椤捐檻锛屾潵鐧藉珫涓夊ぉ涔熶笉鏄笉鍙互銆� @@ -105,6 +105,7 @@ - [X] 鏀寔鎵撳寘鍙墽琛宩ar鍜寃ar - [X] 鏀寔璺ㄥ煙璇锋眰锛屾敮鎸佸墠鍚庣鍒嗙閮ㄧ讲 - [X] 鏀寔Mysql锛孭ostgresql锛岄噾浠撶瓑鏁版嵁搴� +- [X] 鏀寔Onvif(鐩墠鍦╫nvif鍒嗘敮锛岄渶瑕佸畨瑁卭nvif鏈嶅姟锛屾湇鍔¤鍦ㄧ煡璇嗘槦鐞冭幏鍙�) # 鎺堟潈鍗忚 鏈」鐩嚜鏈変唬鐮佷娇鐢ㄥ鏉剧殑MIT鍗忚锛屽湪淇濈暀鐗堟潈淇℃伅鐨勬儏鍐典笅鍙互鑷敱搴旂敤浜庡悇鑷晢鐢ㄣ�侀潪鍟嗕笟鐨勯」鐩�� 浣嗘槸鏈」鐩篃闆剁鐨勪娇鐢ㄤ簡涓�浜涘叾浠栫殑寮�婧愪唬鐮侊紝鍦ㄥ晢鐢ㄧ殑鎯呭喌涓嬭鑷鏇夸唬鎴栧墧闄わ紱 鐢变簬浣跨敤鏈」鐩�屼骇鐢熺殑鍟嗕笟绾犵悍鎴栦镜鏉冭涓轰竴姒備笌鏈」鐩強寮�鍙戣�呮棤鍏筹紝璇疯嚜琛屾壙鎷呮硶寰嬮闄┿�� 鍦ㄤ娇鐢ㄦ湰椤圭洰浠g爜鏃讹紝涔熷簲璇ュ湪鎺堟潈鍗忚涓悓鏃惰〃鏄庢湰椤圭洰渚濊禆鐨勭涓夋柟搴撶殑鍗忚 diff --git a/doc/README.md b/doc/README.md index 3d2f09f..c2cbfba 100644 --- a/doc/README.md +++ b/doc/README.md @@ -14,7 +14,7 @@ - 瀹屽叏寮�婧愶紝涓斾娇鐢∕IT璁稿彲鍗忚銆備繚鐣欑増鏉冪殑鎯呭喌涓嬪彲浠ョ敤浜庡晢涓氶」鐩�� - 鏀寔澶氭祦濯掍綋鑺傜偣璐熻浇鍧囪 銆� -# 绀剧兢 +# 浠樿垂绀剧兢 [](https://t.zsxq.com/0d8VAD3Dm) > 鏀惰垂鏄负浜嗘彁渚涙洿濂界殑鏈嶅姟锛屼篃鏄浣滆�呮洿澶х殑婵�鍔便�傚姞鍏ユ槦鐞冪殑鐢ㄦ埛涓夊ぉ鍚庡彲浠ョ淇℃垜鐣欎笅寰俊鍙凤紝鎴戜細鎷夊ぇ瀹跺叆缇ゃ�傚姞鍏ヤ笁澶╁唴涓嶆弧鎰忓彲浠ョ洿鎺ラ��娆撅紝澶у涓嶉渶瑕佹湁椤捐檻锛屾潵鐧藉珫涓夊ぉ涔熶笉鏄笉鍙互銆� @@ -62,16 +62,16 @@ - [X] 娉ㄥ唽 - [X] 娉ㄩ攢 - [X] 瀹炴椂瑙嗛煶棰戠偣鎾� -- [ ] 璁惧鎺у埗 - - [ ] 浜戝彴鎺у埗 +- [X] 璁惧鎺у埗 + - [X] 浜戝彴鎺у埗 - [ ] 杩滅▼鍚姩 - - [ ] 褰曞儚鎺у埗 - - [ ] 鎶ヨ甯冮槻/鎾ら槻 - - [ ] 鎶ヨ澶嶄綅 - - [ ] 寮哄埗鍏抽敭甯� - - [ ] 鎷夋鏀惧ぇ - - [ ] 鎷夋缂╁皬 - - [ ] 鐪嬪畧浣嶆帶鍒� + - [X] 褰曞儚鎺у埗 + - [X] 鎶ヨ甯冮槻/鎾ら槻 + - [X] 鎶ヨ澶嶄綅 + - [X] 寮哄埗鍏抽敭甯� + - [X] 鎷夋鏀惧ぇ + - [X] 鎷夋缂╁皬 + - [X] 鐪嬪畧浣嶆帶鍒� - [ ] 璁惧閰嶇疆 - [ ] 鎶ヨ浜嬩欢閫氱煡鍜屽垎鍙� - [X] 璁惧鐩綍璁㈤槄 @@ -79,7 +79,7 @@ - [X] 璁惧鐩綍鏌ヨ - [X] 璁惧鐘舵�佹煡璇� - [ ] 璁惧閰嶇疆鏌ヨ - - [ ] 璁惧棰勭疆浣嶆煡璇� + - [X] 璁惧棰勭疆浣嶆煡璇� - [X] 鐘舵�佷俊鎭姤閫� - [X] 璁惧瑙嗛煶棰戞枃浠舵绱� - [X] 鍘嗗彶瑙嗛煶棰戠殑鍥炴斁 @@ -87,7 +87,7 @@ - [x] 鏆傚仠 - [x] 杩�/閫� - [x] 鍋滄 -- [ ] 瑙嗛煶棰戞枃浠朵笅杞� +- [X] 瑙嗛煶棰戞枃浠朵笅杞� - [ ] ~~鏍℃椂~~ - [X] 璁㈤槄鍜岄�氱煡 - [X] 浜嬩欢璁㈤槄 diff --git a/doc/_media/1372762149.jpg b/doc/_media/1372762149.jpg new file mode 100644 index 0000000..471ec07 --- /dev/null +++ b/doc/_media/1372762149.jpg Binary files differ diff --git a/doc/_media/903207146.jpg b/doc/_media/903207146.jpg new file mode 100644 index 0000000..0bbc7e6 --- /dev/null +++ b/doc/_media/903207146.jpg Binary files differ diff --git a/pom.xml b/pom.xml index bb0de72..2ecfad3 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ <groupId>com.genersoft</groupId> <artifactId>wvp-pro</artifactId> - <version>2.6.8</version> + <version>2.6.9</version> <name>web video platform</name> <description>鍥芥爣28181瑙嗛骞冲彴</description> <packaging>${project.packaging}</packaging> diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/session/SSRCFactory.java b/src/main/java/com/genersoft/iot/vmp/gb28181/session/SSRCFactory.java index ec8e0ba..689f843 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/SSRCFactory.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/SSRCFactory.java @@ -1,6 +1,7 @@ package com.genersoft.iot.vmp.gb28181.session; import com.genersoft.iot.vmp.conf.SipConfig; +import com.genersoft.iot.vmp.conf.UserSetting; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; @@ -31,10 +32,13 @@ @Autowired private SipConfig sipConfig; + @Autowired + private UserSetting userSetting; + public void initMediaServerSSRC(String mediaServerId, Set<String> usedSet) { String ssrcPrefix = sipConfig.getDomain().substring(3, 8); - String redisKey = SSRC_INFO_KEY + mediaServerId; + String redisKey = SSRC_INFO_KEY + userSetting.getServerId() + "_" + mediaServerId; List<String> ssrcList = new ArrayList<>(); for (int i = 1; i < MAX_STREAM_COUNT; i++) { String ssrc = String.format("%s%04d", ssrcPrefix, i); @@ -77,7 +81,7 @@ return; } String sn = ssrc.substring(1); - String redisKey = SSRC_INFO_KEY + mediaServerId; + String redisKey = SSRC_INFO_KEY + userSetting.getServerId() + "_" + mediaServerId; redisTemplate.opsForSet().add(redisKey, sn); } @@ -86,7 +90,7 @@ */ private String getSN(String mediaServerId) { String sn = null; - String redisKey = SSRC_INFO_KEY + mediaServerId; + String redisKey = SSRC_INFO_KEY + userSetting.getServerId() + "_" + mediaServerId; Long size = redisTemplate.opsForSet().size(redisKey); if (size == null || size == 0) { throw new RuntimeException("ssrc宸茬粡鐢ㄥ畬"); @@ -113,7 +117,7 @@ * @param mediaServerId 娴佸獟浣撴湇鍔D */ public boolean hasMediaServerSSRC(String mediaServerId) { - String redisKey = SSRC_INFO_KEY + mediaServerId; + String redisKey = SSRC_INFO_KEY + userSetting.getServerId() + "_" + mediaServerId; return redisTemplate.opsForSet().members(redisKey) != null; } @@ -126,7 +130,7 @@ */ public boolean checkSsrc(String mediaServerId, String ssrc) { String sn = ssrc.substring(1); - String redisKey = SSRC_INFO_KEY + mediaServerId; + String redisKey = SSRC_INFO_KEY + userSetting.getServerId() + "_" + mediaServerId; return redisTemplate.opsForSet().isMember(redisKey, sn) != null; } } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java index f75a5fc..e6134f6 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java @@ -188,7 +188,20 @@ null); return; } - logger.info("[鐐规挱寮�濮媇 deviceId: {}, channelId: {},鏀舵祦绔彛锛歿}, 鏀舵祦妯″紡锛歿}, SSRC: {}, SSRC鏍¢獙锛歿}", device.getDeviceId(), channelId, ssrcInfo.getPort(), device.getStreamMode(), ssrcInfo.getSsrc(), device.isSsrcCheck()); + logger.info("\r\n" + + " [鐐规挱寮�濮媇 \r\n" + + "deviceId : {}, \r\n" + + "channelId : {},\r\n" + + "鏀舵祦绔彛 : {}, \r\n" + + "鏀舵祦妯″紡 : {}, \r\n" + + "SSRC : {}, \r\n" + + "SSRC鏍¢獙 锛歿}", + device.getDeviceId(), + channelId, + ssrcInfo.getPort(), + device.getStreamMode(), + ssrcInfo.getSsrc(), + device.isSsrcCheck()); //绔彛鑾峰彇澶辫触鐨剆srcInfo 娌℃湁蹇呰鍙戦�佺偣鎾寚浠� if (ssrcInfo.getPort() <= 0) { @@ -329,23 +342,13 @@ return; } logger.info("[鐐规挱娑堟伅] 鏀跺埌invite 200, 鍙戠幇涓嬬骇鑷畾涔変簡ssrc: {}", ssrcInResponse); + if (!mediaServerItem.isRtpEnable() || device.isSsrcCheck()) { logger.info("[鐐规挱娑堟伅] SSRC淇 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse); - if (!ssrcFactory.checkSsrc(mediaServerItem.getId(),ssrcInResponse)) { - // ssrc 涓嶅彲鐢� - logger.info("[鐐规挱娑堟伅] SSRC淇鏃跺彂鐜皊src涓嶅彲浣跨敤 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse); - // 閲婃斁ssrc - ssrcFactory.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); - streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream()); - callback.run(InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getCode(), - InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getMsg(), null); - inviteStreamService.call(InviteSessionType.PLAY, device.getDeviceId(), channelId, null, - InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getCode(), - InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getMsg(), null); + // 閲婃斁ssrc + mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); - return; - } // 鍗曠鍙fā寮弒treamId涔熸湁鍙樺寲锛岄噸鏂拌缃洃鍚嵆鍙� if (!mediaServerItem.isRtpEnable()) { // 娣诲姞璁㈤槄 @@ -388,8 +391,6 @@ } dynamicTask.stop(timeOutTaskKey); - // 閲婃斁ssrc - mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream()); @@ -654,17 +655,8 @@ if (!mediaServerItem.isRtpEnable() || device.isSsrcCheck()) { logger.info("[褰曞儚鍥炴斁] SSRC淇 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse); - if (!ssrcFactory.checkSsrc(mediaServerItem.getId(),ssrcInResponse)) { - // ssrc 涓嶅彲鐢� - logger.info("[褰曞儚鍥炴斁] SSRC淇鏃跺彂鐜皊src涓嶅彲浣跨敤 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse); - // 閲婃斁ssrc - dynamicTask.stop(playBackTimeOutTaskKey); - mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); - streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream()); - callback.run(InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getCode(), - InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getMsg(), null); - return; - } + // 閲婃斁ssrc + mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); // 鍗曠鍙fā寮弒treamId涔熸湁鍙樺寲锛岄渶瑕侀噸鏂拌缃洃鍚� if (!mediaServerItem.isRtpEnable()) { @@ -693,8 +685,6 @@ } dynamicTask.stop(playBackTimeOutTaskKey); - // 閲婃斁ssrc - mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream()); @@ -858,15 +848,8 @@ if (!mediaServerItem.isRtpEnable() || device.isSsrcCheck()) { logger.info("[褰曞儚涓嬭浇] SSRC淇 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse); - if (!ssrcFactory.checkSsrc(mediaServerItem.getId(),ssrcInResponse)) { - // ssrc 涓嶅彲鐢� - // 閲婃斁ssrc - mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); - streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream()); - callback.run(InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getCode(), - InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getMsg(), null); - return; - } + // 閲婃斁ssrc + mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); // 鍗曠鍙fā寮弒treamId涔熸湁鍙樺寲锛岄渶瑕侀噸鏂拌缃洃鍚� if (!mediaServerItem.isRtpEnable()) { @@ -892,8 +875,6 @@ } dynamicTask.stop(downLoadTimeOutTaskKey); - // 閲婃斁ssrc - mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream()); -- Gitblit v1.8.0