From b6e604f2449bb65dfaafb0f0741ba54ff0d2f9c2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 30 四月 2024 15:20:03 +0800
Subject: [PATCH] 修改云端录像详情页使用直接访问zlm的方式播放录像
---
src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
index d3ef53d..e7e79a8 100755
--- a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
@@ -21,6 +21,7 @@
import com.genersoft.iot.vmp.media.service.IMediaServerService;
import com.genersoft.iot.vmp.media.zlm.SendRtpPortManager;
import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
+import com.genersoft.iot.vmp.media.zlm.dto.hook.OriginType;
import com.genersoft.iot.vmp.service.IInviteStreamService;
import com.genersoft.iot.vmp.service.bean.MediaServerLoad;
import com.genersoft.iot.vmp.service.bean.MessageForPushChannel;
@@ -98,6 +99,8 @@
if ("rtsp".equals(event.getSchema())) {
logger.info("娴佸彉鍖栵細娉ㄥ唽 app->{}, stream->{}", event.getApp(), event.getStream());
addCount(event.getMediaServer().getId());
+ String type = OriginType.values()[event.getMediaInfo().getOriginType()].getType();
+ redisCatchStorage.addStream(event.getMediaServer(), type, event.getApp(), event.getStream(), event.getMediaInfo());
}
}
@@ -110,7 +113,15 @@
if ("rtsp".equals(event.getSchema())) {
logger.info("娴佸彉鍖栵細娉ㄩ攢, app->{}, stream->{}", event.getApp(), event.getStream());
removeCount(event.getMediaServer().getId());
+ MediaInfo mediaInfo = redisCatchStorage.getStreamInfo(
+ event.getApp(), event.getStream(), event.getMediaServer().getId());
+ if (mediaInfo == null) {
+ return;
+ }
+ String type = OriginType.values()[mediaInfo.getOriginType()].getType();
+ redisCatchStorage.removeStream(mediaInfo.getMediaServer().getId(), type, event.getApp(), event.getStream());
}
+
}
@@ -887,4 +898,16 @@
sendRtpItem.setRtcp(rtcp);
return sendRtpItem;
}
+
+ @Override
+ public MediaServer getMediaServerByAppAndStream(String app, String stream) {
+ List<MediaServer> mediaServerList = getAll();
+ for (MediaServer mediaServer : mediaServerList) {
+ MediaInfo mediaInfo = getMediaInfo(mediaServer, app, stream);
+ if (mediaInfo != null) {
+ return mediaServer;
+ }
+ }
+ return null;
+ }
}
--
Gitblit v1.8.0