From b7d671e6d903a7477a8d3d3285dcf589d9e2dbaf Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 22 七月 2024 14:21:23 +0800
Subject: [PATCH] 优化录像下载流程
---
src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
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 8ddf4f8..920228d 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
@@ -7,6 +7,7 @@
import com.genersoft.iot.vmp.conf.DynamicTask;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.conf.exception.ControllerException;
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
import com.genersoft.iot.vmp.media.bean.MediaInfo;
import com.genersoft.iot.vmp.media.bean.MediaServer;
@@ -349,6 +350,9 @@
}
String msgResult;
if ("ffmpeg".equalsIgnoreCase(param.getType())){
+ if (param.getTimeoutMs() == 0) {
+ param.setTimeoutMs(15);
+ }
result = mediaServerService.addFFmpegSource(mediaServer, param.getSrcUrl().trim(), param.getDstUrl(),
param.getTimeoutMs(), param.isEnableAudio(), param.isEnableMp4(),
param.getFfmpegCmdKey());
@@ -406,6 +410,7 @@
gbStreamMapper.del(app, stream);
videoManagerStorager.deleteStreamProxy(app, stream);
redisCatchStorage.removeStream(streamProxyItem.getMediaServerId(), "PULL", app, stream);
+ redisCatchStorage.removeStream(streamProxyItem.getMediaServerId(), "PUSH", app, stream);
Boolean result = removeStreamProxyFromZlm(streamProxyItem);
if (result != null && result) {
logger.info("[绉婚櫎浠g悊]锛� 浠g悊锛� {}/{}, 浠巣lm绉婚櫎鎴愬姛", app, stream);
@@ -527,7 +532,16 @@
@Override
public int updateStatus(boolean status, String app, String stream) {
- return streamProxyMapper.updateStatus(app, stream, status);
+ // 鐘舵�佸彉鍖栨椂鎺ㄩ�佸埌鍥芥爣涓婄骇
+ StreamProxyItem streamProxyItem = streamProxyMapper.selectOne(app, stream);
+ if (streamProxyItem == null) {
+ return 0;
+ }
+ int result = streamProxyMapper.updateStatus(app, stream, status);
+ if (!ObjectUtils.isEmpty(streamProxyItem.getGbId())) {
+ gbStreamService.sendCatalogMsg(streamProxyItem, status?CatalogEvent.ON:CatalogEvent.OFF);
+ }
+ return result;
}
private void syncPullStream(String mediaServerId){
--
Gitblit v1.8.0