From 83671d8f10497fff397b370fb70e5abd28fceeac Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 04 三月 2022 15:27:28 +0800
Subject: [PATCH] Merge branch 'wvp-28181-2.0' into wvp-pro-record
---
src/main/java/com/genersoft/iot/vmp/utils/node/TreeNode.java | 29 +++++
src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java | 13 +-
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java | 4
src/main/java/com/genersoft/iot/vmp/vmanager/bean/WVPResult.java | 38 ++++++-
src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java | 11 +
src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTree.java | 64 ++++++++++++
src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTreeNode.java | 44 ++++++++
pom.xml | 4
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 2
src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java | 32 ++++++
README.md | 19 ++-
11 files changed, 219 insertions(+), 41 deletions(-)
diff --git a/README.md b/README.md
index 93b3ffb..564b197 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
[](https://github.com/xia-chu/ZLMediaKit/pulls)
-WEB VIDEO PLATFORM鏄竴涓熀浜嶨B28181-2016鏍囧噯瀹炵幇鐨勫紑绠卞嵆鐢ㄧ殑缃戠粶瑙嗛骞冲彴锛岃礋璐e疄鐜版牳蹇冧俊浠や笌璁惧绠$悊鍚庡彴閮ㄥ垎锛屾敮鎸丯AT绌块�忥紝鏀寔娴峰悍銆佸ぇ鍗庛�佸畤瑙嗙瓑鍝佺墝鐨処PC銆丯VR銆丏VR鎺ュ叆銆傛敮鎸佸浗鏍囩骇鑱旓紝鏀寔rtsp/rtmp绛夎棰戞祦杞彂鍒板浗鏍囧钩鍙帮紝鏀寔rtsp/rtmp绛夋帹娴佽浆鍙戝埌鍥芥爣骞冲彴銆�
+WEB VIDEO PLATFORM鏄竴涓熀浜嶨B28181-2016鏍囧噯瀹炵幇鐨勫紑绠卞嵆鐢ㄧ殑缃戠粶瑙嗛骞冲彴锛岃礋璐e疄鐜版牳蹇冧俊浠や笌璁惧绠$悊鍚庡彴閮ㄥ垎锛屾敮鎸丯AT绌块�忥紝鏀寔娴峰悍銆佸ぇ鍗庛�佸畤瑙嗙瓑鍝佺墝鐨処PC銆丯VR鎺ュ叆銆傛敮鎸佸浗鏍囩骇鑱旓紝鏀寔灏嗕笉甯﹀浗鏍囧姛鑳界殑鎽勫儚鏈�/鐩存挱娴�/鐩存挱鎺ㄦ祦杞彂鍒板叾浠栧浗鏍囧钩鍙般��
娴佸獟浣撴湇鍔″熀浜嶼LMediaKit-https://github.com/xiongziliang/ZLMediaKit
@@ -31,11 +31,13 @@
https://gitee.com/pan648540858/wvp-GB28181-pro.git
# 鎴浘
-
-
-
-
-
+
+
+
+
+
+
+
# 1.0 鍩虹鐗规��
1. 瑙嗛棰勮;
@@ -79,7 +81,7 @@
- [X] 绉诲姩浣嶇疆閫氱煡澶勭悊
- [X] 鎶ヨ浜嬩欢璁㈤槄
- [X] 鎶ヨ浜嬩欢閫氱煡澶勭悊
- - [ ] 璁惧鐩綍璁㈤槄
+ - [X] 璁惧鐩綍璁㈤槄
- [X] 璁惧鐩綍閫氱煡澶勭悊
16. 绉诲姩浣嶇疆鏌ヨ鍜屾樉绀猴紝鍙�氳繃閰嶇疆鏂囦欢璁剧疆绉诲姩浣嶇疆鍘嗗彶鏄惁瀛樺偍
@@ -96,6 +98,9 @@
- [X] 骞冲彴淇℃伅鏌ヨ
- [X] 骞冲彴杩滅▼鍚姩
- [X] 姣忎釜绾ц仈骞冲彴鍙嚜瀹氫箟鐨勮櫄鎷熺洰褰�
+ - [X] 鐩綍璁㈤槄涓庨�氱煡
+ - [X] 褰曞儚鏌ョ湅涓庢挱鏀�
+ - [X] GPS璁㈤槄涓庨�氱煡锛堢洿鎾帹娴侊級
- [X] 娣诲姞RTSP瑙嗛
- [X] 娣诲姞鎺ュ彛閴存潈
- [X] 娣诲姞RTMP瑙嗛
diff --git a/pom.xml b/pom.xml
index 9d31f72..2dde4da 100644
--- a/pom.xml
+++ b/pom.xml
@@ -253,10 +253,6 @@
<artifactId>spring-boot-starter-test</artifactId>
<!-- <scope>test</scope>-->
</dependency>
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- </dependency>
</dependencies>
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java
index 996f65d..4df77a0 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java
@@ -4,7 +4,8 @@
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
-import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
@@ -12,9 +13,11 @@
import java.util.Timer;
import java.util.TimerTask;
-@Slf4j
@Component
public class PlatformCycleRegisterEventLister implements ApplicationListener<PlatformCycleRegisterEvent> {
+
+ private final static Logger logger = LoggerFactory.getLogger(PlatformCycleRegisterEventLister.class);
+
@Autowired
private IVideoManagerStorager storager;
@Autowired
@@ -22,10 +25,10 @@
@Override
public void onApplicationEvent(PlatformCycleRegisterEvent event) {
- log.info("涓婄骇骞冲彴鍛ㄦ湡娉ㄥ唽浜嬩欢");
+ logger.info("涓婄骇骞冲彴鍛ㄦ湡娉ㄥ唽浜嬩欢");
ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(event.getPlatformGbID());
if (parentPlatform == null) {
- log.info("[ 骞冲彴鏈敞鍐屼簨浠� ] 骞冲彴宸茬粡鍒犻櫎!!! 骞冲彴鍥芥爣ID锛�" + event.getPlatformGbID());
+ logger.info("[ 骞冲彴鏈敞鍐屼簨浠� ] 骞冲彴宸茬粡鍒犻櫎!!! 骞冲彴鍥芥爣ID锛�" + event.getPlatformGbID());
return;
}
Timer timer = new Timer();
@@ -36,7 +39,7 @@
timer.schedule(new TimerTask() {
@Override
public void run() {
- log.info("[骞冲彴娉ㄥ唽]鍐嶆鍚戝钩鍙版敞鍐岋紝骞冲彴鍥芥爣ID锛�" + event.getPlatformGbID());
+ logger.info("[骞冲彴娉ㄥ唽]鍐嶆鍚戝钩鍙版敞鍐岋紝骞冲彴鍥芥爣ID锛�" + event.getPlatformGbID());
sipCommanderFroPlatform.register(parentPlatform, null, okEvent);
}
}, 15*1000 ,Long.parseLong(parentPlatform.getExpires())* 1000);
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 0fefb0c..ab05da3 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
@@ -116,8 +116,11 @@
msg.setData(wvpResult);
// 鐐规挱瓒呮椂鍥炲BYE
cmder.streamByeCmd(device.getDeviceId(), channelId, streamInfo.getStream());
+ // 閲婃斁rtpserver
+ mediaServerService.closeRTPServer(playResult.getDevice(), channelId, streamInfo.getStream());
// 鍥炲涔嬪墠鎵�鏈夌殑鐐规挱璇锋眰
resultHolder.invokeAllResult(msg);
+ // TODO 閲婃斁ssrc
});
result.onCompletion(()->{
// 鐐规挱缁撴潫鏃惰皟鐢ㄦ埅鍥炬帴鍙�
@@ -333,6 +336,7 @@
playBackResult.setData(msg);
playBackResult.setEvent(event);
callback.call(playBackResult);
+ streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
});
return result;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
index 9af6e77..464b788 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -717,7 +717,7 @@
try {
if (streamProxyMapper.add(streamProxyItem) > 0) {
if (!StringUtils.isEmpty(streamProxyItem.getGbId())) {
- if (gbStreamMapper.add(streamProxyItem) > 0) {
+ if (gbStreamMapper.add(streamProxyItem) <= 0) {
//浜嬪姟鍥炴粴
dataSourceTransactionManager.rollback(transactionStatus);
return false;
diff --git a/src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java b/src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java
index 6b95508..7835feb 100644
--- a/src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java
+++ b/src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java
@@ -1,7 +1,6 @@
package com.genersoft.iot.vmp.utils.node;
import com.fasterxml.jackson.annotation.JsonInclude;
-import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@@ -10,7 +9,6 @@
* 鑺傜偣鍩虹被
*
*/
-@Data
public class BaseNode<T> implements INode<T> {
private static final long serialVersionUID = 1L;
@@ -51,4 +49,34 @@
}
}
+ @Override
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @Override
+ public String getParentId() {
+ return parentId;
+ }
+
+ public void setParentId(String parentId) {
+ this.parentId = parentId;
+ }
+
+ @Override
+ public List<T> getChildren() {
+ return children;
+ }
+
+ public void setChildren(List<T> children) {
+ this.children = children;
+ }
+
+ public void setHasChildren(Boolean hasChildren) {
+ this.hasChildren = hasChildren;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java b/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java
index d0500a1..21a48df 100644
--- a/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java
+++ b/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java
@@ -1,15 +1,11 @@
package com.genersoft.iot.vmp.utils.node;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
/**
* 妫灄鑺傜偣绫�
*
*/
-@Data
-@EqualsAndHashCode(callSuper = false)
public class ForestNode extends BaseNode<ForestNode> {
private static final long serialVersionUID = 1L;
@@ -25,4 +21,11 @@
this.content = content;
}
+ public Object getContent() {
+ return content;
+ }
+
+ public void setContent(Object content) {
+ this.content = content;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/utils/node/TreeNode.java b/src/main/java/com/genersoft/iot/vmp/utils/node/TreeNode.java
index 9df6f11..71f1b2b 100644
--- a/src/main/java/com/genersoft/iot/vmp/utils/node/TreeNode.java
+++ b/src/main/java/com/genersoft/iot/vmp/utils/node/TreeNode.java
@@ -1,14 +1,11 @@
package com.genersoft.iot.vmp.utils.node;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
+
/**
* 鏍戝瀷鑺傜偣绫�
*
*/
-@Data
-@EqualsAndHashCode(callSuper = false)
public class TreeNode extends BaseNode<TreeNode> {
private static final long serialVersionUID = 1L;
@@ -18,4 +15,28 @@
private String key;
private String value;
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTree.java b/src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTree.java
index 4eaf598..73928a4 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTree.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTree.java
@@ -4,14 +4,10 @@
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import com.genersoft.iot.vmp.utils.node.INode;
import io.swagger.annotations.ApiModel;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
-@Data
-@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "DeviceChannelTree瀵硅薄", description = "DeviceChannelTree瀵硅薄")
public class DeviceChannelTree extends DeviceChannel implements INode<DeviceChannelTree> {
private static final long serialVersionUID = 1L;
@@ -62,4 +58,64 @@
return this.hasChildren;
}
}
+
+ @Override
+ public int getId() {
+ return id;
+ }
+
+ @Override
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @Override
+ public String getParentId() {
+ return parentId;
+ }
+
+ @Override
+ public void setParentId(String parentId) {
+ this.parentId = parentId;
+ }
+
+ public String getParentName() {
+ return parentName;
+ }
+
+ public void setParentName(String parentName) {
+ this.parentName = parentName;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public void setChildren(List<DeviceChannelTree> children) {
+ this.children = children;
+ }
+
+ public void setHasChildren(Boolean hasChildren) {
+ this.hasChildren = hasChildren;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTreeNode.java b/src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTreeNode.java
index 29d82be..96577d1 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTreeNode.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/bean/DeviceChannelTreeNode.java
@@ -1,11 +1,7 @@
package com.genersoft.iot.vmp.vmanager.bean;
import com.genersoft.iot.vmp.utils.node.TreeNode;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-@Data
-@EqualsAndHashCode(callSuper = true)
public class DeviceChannelTreeNode extends TreeNode {
private Integer status;
@@ -17,4 +13,44 @@
private Double lng;
private Double lat;
+
+ public Integer getStatus() {
+ return status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ public String getDeviceId() {
+ return deviceId;
+ }
+
+ public void setDeviceId(String deviceId) {
+ this.deviceId = deviceId;
+ }
+
+ public String getChannelId() {
+ return channelId;
+ }
+
+ public void setChannelId(String channelId) {
+ this.channelId = channelId;
+ }
+
+ public Double getLng() {
+ return lng;
+ }
+
+ public void setLng(Double lng) {
+ this.lng = lng;
+ }
+
+ public Double getLat() {
+ return lat;
+ }
+
+ public void setLat(Double lat) {
+ this.lat = lat;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/WVPResult.java b/src/main/java/com/genersoft/iot/vmp/vmanager/bean/WVPResult.java
index b4e3eb4..91ed22c 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/WVPResult.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/bean/WVPResult.java
@@ -1,13 +1,16 @@
package com.genersoft.iot.vmp.vmanager.bean;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
public class WVPResult<T> {
+
+ public WVPResult() {
+ }
+
+ public WVPResult(int code, String msg, T data) {
+ this.code = code;
+ this.msg = msg;
+ this.data = data;
+ }
private int code;
private String msg;
@@ -32,4 +35,27 @@
return fail(FAILED, msg);
}
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public T getData() {
+ return data;
+ }
+
+ public void setData(T data) {
+ this.data = data;
+ }
}
--
Gitblit v1.8.0