src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/vmanager/bean/WVPResult.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
web_src/src/components/StreamProxyList.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
web_src/src/components/dialog/StreamProxyEdit.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
@@ -43,9 +43,11 @@ builder.add("secret",mediaSecret); if (param != null && param.keySet().size() > 0) { for (String key : param.keySet()){ if (param.get(key) != null) { builder.add(key, param.get(key).toString()); } } } FormBody body = builder.build(); src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
@@ -170,7 +170,12 @@ List<StreamProxyItem> streamProxyListForEnable = storager.getStreamProxyListForEnable(true); for (StreamProxyItem streamProxyDto : streamProxyListForEnable) { logger.info("恢复流代理," + streamProxyDto.getApp() + "/" + streamProxyDto.getStream()); streamProxyService.addStreamProxyToZlm(streamProxyDto); JSONObject jsonObject = streamProxyService.addStreamProxyToZlm(streamProxyDto); if (jsonObject == null) { // 设置为未启用 logger.info("恢复流代理失败,请检查流地址后重新启用" + streamProxyDto.getApp() + "/" + streamProxyDto.getStream()); streamProxyService.stop(streamProxyDto.getApp(), streamProxyDto.getStream()); } } } } src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java
@@ -10,7 +10,7 @@ * 保存视频代理 * @param param */ void save(StreamProxyItem param); String save(StreamProxyItem param); /** * 添加视频代理到zlm src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
@@ -40,23 +40,40 @@ @Override public void save(StreamProxyItem param) { public String save(StreamProxyItem param) { MediaServerConfig mediaInfo = redisCatchStorage.getMediaInfo(); String dstUrl = String.format("rtmp://%s:%s/%s/%s", "127.0.0.1", mediaInfo.getRtmpPort(), param.getApp(), param.getStream() ); param.setDst_url(dstUrl); StringBuffer result = new StringBuffer(); // 更新 if (videoManagerStorager.queryStreamProxy(param.getApp(), param.getStream()) != null) { boolean result = videoManagerStorager.updateStreamProxy(param); if (result && param.isEnable()) { addStreamProxyToZlm(param); if (videoManagerStorager.updateStreamProxy(param)) { result.append("保存成功"); if (param.isEnable()){ JSONObject jsonObject = addStreamProxyToZlm(param); if (jsonObject == null) { result.append(", 但是启用失败,请检查流地址是否可用"); param.setEnable(false); videoManagerStorager.updateStreamProxy(param); } } } }else { // 新增 boolean result = videoManagerStorager.addStreamProxy(param); if (result && param.isEnable()) { addStreamProxyToZlm(param); if (videoManagerStorager.addStreamProxy(param)){ result.append("保存成功"); if (param.isEnable()) { JSONObject jsonObject = addStreamProxyToZlm(param); if (jsonObject == null) { result.append(", 但是启用失败,请检查流地址是否可用"); param.setEnable(false); videoManagerStorager.updateStreamProxy(param); } } } } return result.toString(); } @Override @@ -105,6 +122,7 @@ StreamProxyItem streamProxy = videoManagerStorager.queryStreamProxy(app, stream); if (!streamProxy.isEnable() && streamProxy != null) { JSONObject jsonObject = addStreamProxyToZlm(streamProxy); if (jsonObject == null) return false; if (jsonObject.getInteger("code") == 0) { result = true; streamProxy.setEnable(true); src/main/java/com/genersoft/iot/vmp/vmanager/bean/WVPResult.java
New file @@ -0,0 +1,32 @@ package com.genersoft.iot.vmp.vmanager.bean; public class WVPResult<T> { private int code; private String msg; private T data; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public T getData() { return data; } public void setData(T data) { this.data = data; } } src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java
@@ -4,6 +4,7 @@ import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.service.IStreamProxyService; import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -56,10 +57,13 @@ }) @PostMapping(value = "/save") @ResponseBody public Object save(@RequestBody StreamProxyItem param){ public WVPResult save(@RequestBody StreamProxyItem param){ logger.info("添加代理: " + JSONObject.toJSONString(param)); streamProxyService.save(param); return "success"; String msg = streamProxyService.save(param); WVPResult<Object> result = new WVPResult<>(); result.setCode(0); result.setMsg(msg); return result; } @ApiOperation("移除代理") @@ -69,10 +73,13 @@ }) @DeleteMapping(value = "/del") @ResponseBody public Object del(String app, String stream){ public WVPResult del(String app, String stream){ logger.info("移除代理: " + app + "/" + stream); streamProxyService.del(app, stream); return "success"; WVPResult<Object> result = new WVPResult<>(); result.setCode(0); result.setMsg("success"); return result; } @ApiOperation("启用代理") @@ -85,7 +92,7 @@ public Object start(String app, String stream){ logger.info("启用代理: " + app + "/" + stream); boolean result = streamProxyService.start(app, stream); return "success"; return result?"success":"fail"; } @ApiOperation("停用代理") web_src/src/components/StreamProxyList.vue
@@ -180,7 +180,6 @@ }, deleteStreamProxy: function(row){ console.log(1111) let that = this; this.getListLoading = true; that.$axios({ @@ -212,7 +211,16 @@ }).then(function (res) { that.getListLoading = false; that.startBtnLaoding = false; if (res.data == "success"){ that.initData() }else { that.$message({ showClose: true, message: "保存失败,请检查地址是否可用!", type: "error", }); } }).catch(function (error) { console.log(error); that.getListLoading = false; web_src/src/components/dialog/StreamProxyEdit.vue
@@ -151,12 +151,10 @@ url:`/api/proxy/save`, data: that.proxyParam }).then(function (res) { console.log(res); console.log(res.data == "success"); if (res.data == "success") { if (typeof (res.data.code) != "undefined" && res.data.code === 0) { that.$message({ showClose: true, message: "保存成功", message: res.data.msg, type: "success", }); that.showDialog = false;