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