From 118e42884e677a99dbdd20349eaad85c96bafeb4 Mon Sep 17 00:00:00 2001 From: panlinlin <648540858@qq.com> Date: 星期四, 22 四月 2021 10:56:13 +0800 Subject: [PATCH] 优化拉流代理 --- src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java | 37 +++++++++++++++++++++++++++---------- 1 files changed, 27 insertions(+), 10 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 ddf8183..c6286c5 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 @@ -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); @@ -118,12 +136,11 @@ public boolean stop(String app, String stream) { boolean result = false; StreamProxyItem streamProxyDto = videoManagerStorager.queryStreamProxy(app, stream); - if (streamProxyDto.isEnable() && streamProxyDto != null) { + if (streamProxyDto != null && streamProxyDto.isEnable()) { JSONObject jsonObject = removeStreamProxyFromZlm(streamProxyDto); if (jsonObject.getInteger("code") == 0) { - result = true; streamProxyDto.setEnable(false); - videoManagerStorager.updateStreamProxy(streamProxyDto); + result = videoManagerStorager.updateStreamProxy(streamProxyDto); } } return result; -- Gitblit v1.8.0