From 764d04b497356ba6bcbb75fd42b51eca750f7223 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 29 五月 2024 15:02:51 +0800 Subject: [PATCH] 调整上级观看消息的发送 --- src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java | 21 ++++++++++++--------- 1 files changed, 12 insertions(+), 9 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 f611480..d3f69d6 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 @@ -18,7 +18,6 @@ import com.genersoft.iot.vmp.media.event.media.MediaNotFoundEvent; import com.genersoft.iot.vmp.media.service.IMediaServerService; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; -import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam; import com.genersoft.iot.vmp.service.IGbStreamService; import com.genersoft.iot.vmp.service.IStreamProxyService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; @@ -350,6 +349,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()); @@ -407,6 +409,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); @@ -505,18 +508,18 @@ String type = "PULL"; // 鍙戦�乺edis娑堟伅 - List<OnStreamChangedHookParam> onStreamChangedHookParams = redisCatchStorage.getStreams(mediaServerId, type); - if (onStreamChangedHookParams.size() > 0) { - for (OnStreamChangedHookParam onStreamChangedHookParam : onStreamChangedHookParams) { + List<MediaInfo> mediaInfoList = redisCatchStorage.getStreams(mediaServerId, type); + if (mediaInfoList.size() > 0) { + for (MediaInfo mediaInfo : mediaInfoList) { JSONObject jsonObject = new JSONObject(); jsonObject.put("serverId", userSetting.getServerId()); - jsonObject.put("app", onStreamChangedHookParam.getApp()); - jsonObject.put("stream", onStreamChangedHookParam.getStream()); + jsonObject.put("app", mediaInfo.getApp()); + jsonObject.put("stream", mediaInfo.getStream()); jsonObject.put("register", false); jsonObject.put("mediaServerId", mediaServerId); redisCatchStorage.sendStreamChangeMsg(type, jsonObject); // 绉婚櫎redis鍐呮祦鐨勪俊鎭� - redisCatchStorage.removeStream(mediaServerId, type, onStreamChangedHookParam.getApp(), onStreamChangedHookParam.getStream()); + redisCatchStorage.removeStream(mediaServerId, type, mediaInfo.getApp(), mediaInfo.getStream()); } } } @@ -534,8 +537,8 @@ private void syncPullStream(String mediaServerId){ MediaServer mediaServer = mediaServerService.getOne(mediaServerId); if (mediaServer != null) { - List<OnStreamChangedHookParam> allPullStream = redisCatchStorage.getStreams(mediaServerId, "PULL"); - if (!allPullStream.isEmpty()) { + List<MediaInfo> mediaInfoList = redisCatchStorage.getStreams(mediaServerId, "PULL"); + if (!mediaInfoList.isEmpty()) { List<StreamInfo> mediaList = mediaServerService.getMediaList(mediaServer, null, null, null); Map<String, StreamInfo> stringStreamInfoMap = new HashMap<>(); if (mediaList != null && !mediaList.isEmpty()) { -- Gitblit v1.8.0