From 0eee65bc424cbdb348052ba4ef6b91add28bc6a4 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 24 十一月 2021 10:02:47 +0800 Subject: [PATCH] 保存拉流代理返回结果添加streamInfo --- src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java | 4 +++- src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java | 7 +++---- web_src/src/components/dialog/StreamProxyEdit.vue | 2 +- src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java | 23 +++++++++++++++++++---- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java b/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java index 12e4898..4c68c61 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java +++ b/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java @@ -1,8 +1,10 @@ package com.genersoft.iot.vmp.service; import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.StreamInfo; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; +import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import com.github.pagehelper.PageInfo; public interface IStreamProxyService { @@ -11,7 +13,7 @@ * 淇濆瓨瑙嗛浠g悊 * @param param */ - String save(StreamProxyItem param); + WVPResult<StreamInfo> save(StreamProxyItem param); /** * 娣诲姞瑙嗛浠g悊鍒皕lm 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 bbcad1c..a10e340 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 @@ -1,18 +1,21 @@ package com.genersoft.iot.vmp.service.impl; import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.StreamInfo; import com.genersoft.iot.vmp.gb28181.bean.GbStream; import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; import com.genersoft.iot.vmp.service.IGbStreamService; import com.genersoft.iot.vmp.service.IMediaServerService; +import com.genersoft.iot.vmp.service.IMediaService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import com.genersoft.iot.vmp.storager.dao.GbStreamMapper; import com.genersoft.iot.vmp.storager.dao.PlatformGbStreamMapper; import com.genersoft.iot.vmp.storager.dao.StreamProxyMapper; import com.genersoft.iot.vmp.service.IStreamProxyService; +import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import com.github.pagehelper.PageInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,7 +37,7 @@ private IVideoManagerStorager videoManagerStorager; @Autowired - private IRedisCatchStorage redisCatchStorage; + private IMediaService mediaService; @Autowired private ZLMRESTfulUtils zlmresTfulUtils;; @@ -56,8 +59,10 @@ @Override - public String save(StreamProxyItem param) { + public WVPResult<StreamInfo> save(StreamProxyItem param) { MediaServerItem mediaInfo; + WVPResult<StreamInfo> wvpResult = new WVPResult<>(); + wvpResult.setCode(0); if ("auto".equals(param.getMediaServerId())){ mediaInfo = mediaServerService.getMediaServerForMinimumLoad(); }else { @@ -65,7 +70,8 @@ } if (mediaInfo == null) { logger.warn("淇濆瓨浠g悊鏈壘鍒板湪绾跨殑ZLM..."); - return "淇濆瓨澶辫触"; + wvpResult.setMsg("淇濆瓨澶辫触"); + return wvpResult; } String dstUrl = String.format("rtmp://%s:%s/%s/%s", "127.0.0.1", mediaInfo.getRtmpPort(), param.getApp(), param.getStream() ); @@ -83,6 +89,10 @@ result.append(", 浣嗘槸鍚敤澶辫触锛岃妫�鏌ユ祦鍦板潃鏄惁鍙敤"); param.setEnable(false); videoManagerStorager.updateStreamProxy(param); + }else { + StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStream( + mediaInfo, param.getApp(), param.getStream(), null); + wvpResult.setData(streamInfo); } } } @@ -97,6 +107,10 @@ result.append(", 浣嗘槸鍚敤澶辫触锛岃妫�鏌ユ祦鍦板潃鏄惁鍙敤"); param.setEnable(false); videoManagerStorager.updateStreamProxy(param); + }else { + StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStream( + mediaInfo, param.getApp(), param.getStream(), null); + wvpResult.setData(streamInfo); } } }else { @@ -113,7 +127,8 @@ result.append(", 鍏宠仈鍥芥爣骞冲彴[ " + param.getPlatformGbId() + " ]澶辫触"); } } - return result.toString(); + wvpResult.setMsg(result.toString()); + return wvpResult; } @Override diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java index f8c01dd..4390bfc 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java @@ -1,9 +1,11 @@ package com.genersoft.iot.vmp.vmanager.streamProxy; import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.StreamInfo; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; import com.genersoft.iot.vmp.service.IMediaServerService; +import com.genersoft.iot.vmp.service.IMediaService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.service.IStreamProxyService; import com.genersoft.iot.vmp.vmanager.bean.WVPResult; @@ -68,10 +70,7 @@ public WVPResult save(@RequestBody StreamProxyItem param){ logger.info("娣诲姞浠g悊锛� " + JSONObject.toJSONString(param)); if (StringUtils.isEmpty(param.getMediaServerId())) param.setMediaServerId("auto"); - String msg = streamProxyService.save(param); - WVPResult<Object> result = new WVPResult<>(); - result.setCode(0); - result.setMsg(msg); + WVPResult<StreamInfo> result = streamProxyService.save(param); return result; } diff --git a/web_src/src/components/dialog/StreamProxyEdit.vue b/web_src/src/components/dialog/StreamProxyEdit.vue index ea3a64f..c9330fd 100644 --- a/web_src/src/components/dialog/StreamProxyEdit.vue +++ b/web_src/src/components/dialog/StreamProxyEdit.vue @@ -160,7 +160,7 @@ type: "default", app: null, stream: null, - url: "rtmp://58.200.131.2/livetv/cctv5hd", + url: "", src_url: null, timeout_ms: null, ffmpeg_cmd_key: null, -- Gitblit v1.8.0