From 9e397ba9f6a967e147d7c994a0ab82c8fc58e9be Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 19 七月 2022 17:46:16 +0800
Subject: [PATCH] 移除共享所有直播流功能
---
src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java | 48 ------------
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java | 13 +++
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java | 32 --------
web_src/src/components/dialog/platformEdit.vue | 4 -
src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java | 14 ---
sql/mysql.sql | 1
src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java | 15 ++-
web_src/src/components/PushVideoList.vue | 7 +
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java | 28 ------
sql/update.sql | 3
src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java | 8 -
src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java | 18 ----
12 files changed, 36 insertions(+), 155 deletions(-)
diff --git a/sql/mysql.sql b/sql/mysql.sql
index 71d4ac5..7d0996f 100644
--- a/sql/mysql.sql
+++ b/sql/mysql.sql
@@ -328,7 +328,6 @@
`ptz` int DEFAULT NULL,
`rtcp` int DEFAULT NULL,
`status` bit(1) DEFAULT NULL,
- `shareAllLiveStream` int DEFAULT NULL,
`startOfflinePush` int DEFAULT '0',
`administrativeDivision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`catalogGroup` int DEFAULT '1',
diff --git a/sql/update.sql b/sql/update.sql
index dd41e97..91f725e 100644
--- a/sql/update.sql
+++ b/sql/update.sql
@@ -56,6 +56,8 @@
alter table stream_push
add updateTime varchar(50) default null;
alter table stream_push
+ add pushIng int DEFAULT NULL;
+alter table stream_push
change createStamp createTime varchar(50) default null;
alter table gb_stream
@@ -68,6 +70,7 @@
alter table parent_platform
add treeType varchar(50) not null;
update parent_platform set parent_platform.treeType='BusinessGroup';
+alter table parent_platform drop shareAllLiveStream;
alter table platform_catalog
add civilCode varchar(50) default null;
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java
index 6dcf0df..61e777a 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java
@@ -105,11 +105,6 @@
private int channelCount;
/**
- * 鍏变韩鎵�鏈夌殑鐩存挱娴�
- */
- private boolean shareAllLiveStream;
-
- /**
* 榛樿鐩綍Id,鑷姩娣诲姞鐨勯�氶亾澶氭斁鍦ㄨ繖涓洰褰曚笅
*/
private String catalogId;
@@ -317,15 +312,6 @@
public void setChannelCount(int channelCount) {
this.channelCount = channelCount;
- }
-
-
- public boolean isShareAllLiveStream() {
- return shareAllLiveStream;
- }
-
- public void setShareAllLiveStream(boolean shareAllLiveStream) {
- this.shareAllLiveStream = shareAllLiveStream;
}
public String getCatalogId() {
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
index 693dda1..3d9b7cb 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
@@ -116,6 +116,7 @@
// 鏌ユ壘姝ょ洿鎾祦鏄惁瀛樺湪redis棰勮gbId
StreamPushItem transform = streamPushService.transform(mediaItem);
StreamPushItem pushInDb = streamPushService.getPush(mediaItem.getApp(), mediaItem.getStream());
+ transform.setPushIng(true);
transform.setUpdateTime(DateUtil.getNow());
transform.setPushTime(DateUtil.getNow());
if (pushInDb == null) {
@@ -123,34 +124,7 @@
streamPushMapper.add(transform);
}else {
streamPushMapper.update(transform);
-
-
-// if (!StringUtils.isEmpty(pushInDb.getGbId())) {
-// List<GbStream> gbStreamList = gbStreamMapper.selectByGBId(transform.getGbId());
-// if (gbStreamList != null && gbStreamList.size() == 1) {
-// transform.setGbStreamId(gbStreamList.get(0).getGbStreamId());
-// transform.setPlatformId(gbStreamList.get(0).getPlatformId());
-// transform.setCatalogId(gbStreamList.get(0).getCatalogId());
-// transform.setGbId(gbStreamList.get(0).getGbId());
-// gbStreamMapper.update(transform);
-// streamPushMapper.del(gbStreamList.get(0).getApp(), gbStreamList.get(0).getStream());
-// }else {
-// transform.setCreateTime(DateUtil.getNow());
-// transform.setUpdateTime(DateUtil.getNow());
-// gbStreamMapper.add(transform);
-// }
- // 閫氱煡閫氶亾涓婄嚎
-// if (transform != null) {
-// if (channelOnlineEvents.get(transform.getGbId()) != null) {
-// channelOnlineEvents.get(transform.getGbId()).run(transform.getApp(), transform.getStream(), transform.getServerId());
-// channelOnlineEvents.remove(transform.getGbId());
-// }
-// }
-// }
}
-
-
-
return transform;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
index 91fa619..d583006 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
@@ -103,6 +103,11 @@
*/
private String createTime;
+ /**
+ * 鏄惁姝e湪鎺ㄦ祦
+ */
+ private boolean pushIng;
+
public String getVhost() {
return vhost;
}
@@ -277,5 +282,13 @@
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
+
+ public boolean isPushIng() {
+ return pushIng;
+ }
+
+ public void setPushIng(boolean pushIng) {
+ this.pushIng = pushIng;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
index 6d699cf..40c37c2 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
@@ -156,24 +156,6 @@
result.append(", 鍏宠仈鍥芥爣骞冲彴[ " + param.getPlatformGbId() + " ]澶辫触");
}
}
- if (!StringUtils.isEmpty(param.getGbId())) {
- // 鏌ユ壘寮�鍚簡鍏ㄩ儴鐩存挱娴佸叡浜殑涓婄骇骞冲彴
- List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
- if (parentPlatforms.size() > 0) {
- for (ParentPlatform parentPlatform : parentPlatforms) {
- param.setPlatformId(parentPlatform.getServerGBId());
- param.setCatalogId(parentPlatform.getCatalogId());
-
- String stream = param.getStream();
- StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(param.getApp(), stream, parentPlatform.getServerGBId());
- if (streamProxyItems == null) {
- platformGbStreamMapper.add(param);
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), param, CatalogEvent.ADD);
- }
- }
- }
- }
-
wvpResult.setMsg(result.toString());
return wvpResult;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
index faac5c9..62cf20f 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -134,29 +134,6 @@
stream.setStatus(true);
stream.setCreateTime(DateUtil.getNow());
int add = gbStreamMapper.add(stream);
-
- // 鏌ユ壘寮�鍚簡鍏ㄩ儴鐩存挱娴佸叡浜殑涓婄骇骞冲彴
- List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
- if (parentPlatforms.size() > 0) {
- for (ParentPlatform parentPlatform : parentPlatforms) {
- stream.setCatalogId(parentPlatform.getCatalogId());
- stream.setPlatformId(parentPlatform.getServerGBId());
- String streamId = stream.getStream();
- StreamProxyItem streamProxyItem = platformGbStreamMapper.selectOne(stream.getApp(), streamId, parentPlatform.getServerGBId());
- if (streamProxyItem == null) {
- platformGbStreamMapper.add(stream);
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), stream, CatalogEvent.ADD);
- }else {
- if (!streamProxyItem.getGbId().equals(stream.getGbId())) {
- // 姝ゆ祦浣跨敤鍙︿竴涓浗鏍嘔d宸茬粡涓庤骞冲彴鍏宠仈锛岀Щ闄ゆ璁板綍
- platformGbStreamMapper.delByAppAndStreamAndPlatform(stream.getApp(), streamId, parentPlatform.getServerGBId());
- platformGbStreamMapper.add(stream);
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), stream, CatalogEvent.ADD);
- }
- }
- }
- }
-
return add > 0;
}
@@ -345,31 +322,6 @@
public void batchAdd(List<StreamPushItem> streamPushItems) {
streamPushMapper.addAll(streamPushItems);
gbStreamMapper.batchAdd(streamPushItems);
- // 鏌ユ壘寮�鍚簡鍏ㄩ儴鐩存挱娴佸叡浜殑涓婄骇骞冲彴
- List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
- if (parentPlatforms.size() > 0) {
- for (StreamPushItem stream : streamPushItems) {
- for (ParentPlatform parentPlatform : parentPlatforms) {
- stream.setCatalogId(parentPlatform.getCatalogId());
- stream.setPlatformId(parentPlatform.getServerGBId());
- String streamId = stream.getStream();
- StreamProxyItem streamProxyItem = platformGbStreamMapper.selectOne(stream.getApp(), streamId, parentPlatform.getServerGBId());
- if (streamProxyItem == null) {
- platformGbStreamMapper.add(stream);
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), stream, CatalogEvent.ADD);
- }else {
- if (!streamProxyItem.getGbId().equals(stream.getGbId())) {
- // 姝ゆ祦浣跨敤鍙︿竴涓浗鏍嘔d宸茬粡涓庤骞冲彴鍏宠仈锛岀Щ闄ゆ璁板綍
- platformGbStreamMapper.delByAppAndStreamAndPlatform(stream.getApp(), streamId, parentPlatform.getServerGBId());
- platformGbStreamMapper.add(stream);
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), stream, CatalogEvent.ADD);
- stream.setGbId(streamProxyItem.getGbId());
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), stream, CatalogEvent.DEL);
- }
- }
- }
- }
- }
}
@Override
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java
index 0db6498..554354a 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java
@@ -16,10 +16,10 @@
@Insert("INSERT INTO parent_platform (enable, name, serverGBId, serverGBDomain, serverIP, serverPort, deviceGBId, deviceIp, " +
" devicePort, username, password, expires, keepTimeout, transport, characterSet, ptz, rtcp, " +
- " status, shareAllLiveStream, startOfflinePush, catalogId, administrativeDivision, catalogGroup, createTime, updateTime, treeType) " +
+ " status, startOfflinePush, catalogId, administrativeDivision, catalogGroup, createTime, updateTime, treeType) " +
" VALUES (${enable}, '${name}', '${serverGBId}', '${serverGBDomain}', '${serverIP}', ${serverPort}, '${deviceGBId}', '${deviceIp}', " +
" '${devicePort}', '${username}', '${password}', '${expires}', '${keepTimeout}', '${transport}', '${characterSet}', ${ptz}, ${rtcp}, " +
- " ${status}, ${shareAllLiveStream}, ${startOfflinePush}, #{catalogId}, #{administrativeDivision}, #{catalogGroup}, #{createTime}, #{updateTime}, #{treeType})")
+ " ${status}, ${startOfflinePush}, #{catalogId}, #{administrativeDivision}, #{catalogGroup}, #{createTime}, #{updateTime}, #{treeType})")
int addParentPlatform(ParentPlatform parentPlatform);
@Update("UPDATE parent_platform " +
@@ -41,7 +41,6 @@
"ptz=#{ptz}, " +
"rtcp=#{rtcp}, " +
"status=#{status}, " +
- "shareAllLiveStream=#{shareAllLiveStream}, " +
"startOfflinePush=${startOfflinePush}, " +
"catalogGroup=#{catalogGroup}, " +
"administrativeDivision=#{administrativeDivision}, " +
@@ -83,9 +82,6 @@
@Update("UPDATE parent_platform SET status=#{online} WHERE serverGBId=#{platformGbID}" )
int updateParentPlatformStatus(String platformGbID, boolean online);
-
- @Select("SELECT * FROM parent_platform WHERE shareAllLiveStream=true")
- List<ParentPlatform> selectAllAhareAllLiveStream();
@Update(value = {" <script>" +
"UPDATE parent_platform " +
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java
index 4f2fbe2..9921a70 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java
@@ -15,9 +15,9 @@
public interface StreamPushMapper {
@Insert("INSERT INTO stream_push (app, stream, totalReaderCount, originType, originTypeStr, " +
- "pushTime, aliveSecond, mediaServerId, serverId, updateTime, createTime) VALUES" +
+ "pushTime, aliveSecond, mediaServerId, serverId, updateTime, createTime, pushIng) VALUES" +
"('${app}', '${stream}', '${totalReaderCount}', '${originType}', '${originTypeStr}', " +
- "'${pushTime}', '${aliveSecond}', '${mediaServerId}' , '${serverId}' , '${updateTime}' , '${createTime}' )")
+ "'${pushTime}', '${aliveSecond}', '${mediaServerId}' , '${serverId}' , '${updateTime}' , '${createTime}', ${pushIng} )")
int add(StreamPushItem streamPushItem);
@@ -30,6 +30,7 @@
"<if test=\"originTypeStr != null\">, originTypeStr='${originTypeStr}'</if>" +
"<if test=\"pushTime != null\">, pushTime='${pushTime}'</if>" +
"<if test=\"aliveSecond != null\">, aliveSecond='${aliveSecond}'</if>" +
+ "<if test=\"pushIng != null\">, pushIng=${pushIng}</if>" +
"WHERE app=#{app} AND stream=#{stream}"+
" </script>"})
int update(StreamPushItem streamPushItem);
@@ -88,10 +89,11 @@
@Insert("<script>" +
"Insert IGNORE INTO stream_push (app, stream, totalReaderCount, originType, originTypeStr, " +
- "createTime, aliveSecond, mediaServerId, status) " +
+ "createTime, aliveSecond, mediaServerId, status, pushIng) " +
"VALUES <foreach collection='streamPushItems' item='item' index='index' separator=','>" +
"( '${item.app}', '${item.stream}', '${item.totalReaderCount}', #{item.originType}, " +
- "'${item.originTypeStr}',#{item.createTime}, #{item.aliveSecond}, '${item.mediaServerId}', ${item.status} )" +
+ "'${item.originTypeStr}',#{item.createTime}, #{item.aliveSecond}, '${item.mediaServerId}', ${item.status} ," +
+ " ${item.pushIng} )" +
" </foreach>" +
"</script>")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
@@ -115,6 +117,11 @@
int updateStatus(String app, String stream, boolean status);
@Update("UPDATE stream_push " +
+ "SET pushIng=${pushIng} " +
+ "WHERE app=#{app} AND stream=#{stream}")
+ int updatePushStatus(String app, String stream, boolean status);
+
+ @Update("UPDATE stream_push " +
"SET status=#{status} " +
"WHERE mediaServerId=#{mediaServerId}")
void updateStatusByMediaServerId(String mediaServerId, boolean status);
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
index a839f72..c18c5d2 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -443,20 +443,6 @@
// 鏇存柊缂撳瓨
parentPlatformCatch.setParentPlatform(parentPlatform);
redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch);
- if (parentPlatform.isEnable()) {
- // 鍏变韩鎵�鏈夎棰戞祦锛岄渶瑕佸皢鐜版湁瑙嗛娴佹坊鍔犲埌姝ゅ钩鍙�
- List<GbStream> gbStreams = gbStreamMapper.queryStreamNotInPlatform();
- if (gbStreams.size() > 0) {
- for (GbStream gbStream : gbStreams) {
- gbStream.setCatalogId(parentPlatform.getCatalogId());
- }
- if (parentPlatform.isShareAllLiveStream()) {
- gbStreamService.addPlatformInfo(gbStreams, parentPlatform.getServerGBId(), parentPlatform.getCatalogId());
- }else {
- gbStreamService.delPlatformInfo(parentPlatform.getServerGBId(), gbStreams);
- }
- }
- }
return result > 0;
}
@@ -673,24 +659,6 @@
streamPushMapper.del(streamPushItem.getApp(), streamPushItem.getStream());
streamPushMapper.add(streamPushItem);
mediaOffline(streamPushItem.getApp(), streamPushItem.getStream());
-
- if(!StringUtils.isEmpty(streamPushItem.getGbId() )){
- // 鏌ユ壘寮�鍚簡鍏ㄩ儴鐩存挱娴佸叡浜殑涓婄骇骞冲彴
- List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
- if (parentPlatforms.size() > 0) {
- for (ParentPlatform parentPlatform : parentPlatforms) {
- StreamProxyItem streamProxyItem = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(),
- parentPlatform.getServerGBId());
- if (streamProxyItem == null) {
- streamPushItem.setCatalogId(parentPlatform.getCatalogId());
- streamPushItem.setPlatformId(parentPlatform.getServerGBId());
- platformGbStreamMapper.add(streamPushItem);
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), streamPushItem, CatalogEvent.ADD);
- }
- }
- }
- }
-
}
@Override
diff --git a/web_src/src/components/PushVideoList.vue b/web_src/src/components/PushVideoList.vue
index d8d3aca..58ce8a2 100644
--- a/web_src/src/components/PushVideoList.vue
+++ b/web_src/src/components/PushVideoList.vue
@@ -62,7 +62,12 @@
</el-table-column>
<el-table-column label="姝e湪鎺ㄦ祦" min-width="100">
<template slot-scope="scope">
- {{scope.row.status ? '鏄�' : '鍚�' }}
+ {{scope.row.pushIng ? '鏄�' : '鍚�' }}
+ </template>
+ </el-table-column>
+ <el-table-column label="鏈钩鍙版帹娴�" min-width="100">
+ <template slot-scope="scope">
+ {{scope.row.pushIng && !!!scope.row.serverId ? '鏄�' : '鍚�' }}
</template>
</el-table-column>
diff --git a/web_src/src/components/dialog/platformEdit.vue b/web_src/src/components/dialog/platformEdit.vue
index 512f00a..819c002 100644
--- a/web_src/src/components/dialog/platformEdit.vue
+++ b/web_src/src/components/dialog/platformEdit.vue
@@ -97,7 +97,6 @@
<el-form-item label="鍏朵粬閫夐」">
<el-checkbox label="鍚敤" v-model="platform.enable" @change="checkExpires"></el-checkbox>
<el-checkbox label="浜戝彴鎺у埗" v-model="platform.ptz"></el-checkbox>
- <el-checkbox label="鍏变韩鎵�鏈夌洿鎾祦" v-model="platform.shareAllLiveStream"></el-checkbox>
<el-checkbox label="鎷夎捣绂荤嚎鎺ㄦ祦" v-model="platform.startOfflinePush"></el-checkbox>
</el-form-item>
<el-form-item>
@@ -159,7 +158,6 @@
keepTimeout: 60,
transport: "UDP",
characterSet: "GB2312",
- shareAllLiveStream: false,
startOfflinePush: false,
catalogGroup: 1,
administrativeDivision: null,
@@ -225,7 +223,6 @@
this.platform.keepTimeout = platform.keepTimeout;
this.platform.transport = platform.transport;
this.platform.characterSet = platform.characterSet;
- this.platform.shareAllLiveStream = platform.shareAllLiveStream;
this.platform.catalogId = platform.catalogId;
this.platform.startOfflinePush = platform.startOfflinePush;
this.platform.catalogGroup = platform.catalogGroup;
@@ -320,7 +317,6 @@
transport: "UDP",
characterSet: "GB2312",
treeType: "BusinessGroup",
- shareAllLiveStream: false,
startOfflinePush: false,
catalogGroup: 1,
}
--
Gitblit v1.8.0