From ac1e604eb455e165e84496270fe065cbb4540bca Mon Sep 17 00:00:00 2001 From: Iwan Lebron <105045937+iwanlebron@users.noreply.github.com> Date: Sat, 27 Jul 2024 11:50:18 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E4=BC=A0=E5=8F=82=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/src/components/PushVideoList.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/src/components/PushVideoList.vue b/web_src/src/components/PushVideoList.vue index e69f56da1..71b96a149 100755 --- a/web_src/src/components/PushVideoList.vue +++ b/web_src/src/components/PushVideoList.vue @@ -228,7 +228,7 @@ export default { url: "/api/push/stop", params: { app: row.app, - streamId: row.stream + stream: row.stream } }).then((res) => { if (res.data.code === 0) { From 82684373ecca37044b24f643b22080dac99850fd Mon Sep 17 00:00:00 2001 From: Iwan Lebron <105045937+iwanlebron@users.noreply.github.com> Date: Wed, 31 Jul 2024 18:51:56 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dgit=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/src/components/dialog/configInfo.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web_src/src/components/dialog/configInfo.vue b/web_src/src/components/dialog/configInfo.vue index 4ac90cc1c..706caccad 100755 --- a/web_src/src/components/dialog/configInfo.vue +++ b/web_src/src/components/dialog/configInfo.vue @@ -21,9 +21,9 @@ {{configInfoData.version.version}} - {{configInfoData.version.BUILD_DATE}} - {{configInfoData.version.GIT_Revision_SHORT}} - {{configInfoData.version.GIT_DATE}} + {{configInfoData.version.build_DATE}} + {{configInfoData.version.git_Revision_SHORT}} + {{configInfoData.version.git_DATE}} From c7c94ee73d720859fcb202ef8068603ffd4f6954 Mon Sep 17 00:00:00 2001 From: Iwan Lebron <105045937+iwanlebron@users.noreply.github.com> Date: Thu, 1 Aug 2024 14:47:43 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20ZLMServerFactory=20?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=B8=8D=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java index 4191fe541..b2b6e67b1 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java @@ -17,7 +17,7 @@ import java.util.Map; @Component public class ZLMServerFactory { - private Logger logger = LoggerFactory.getLogger("ZLMServerFactory"); + private final static Logger logger = LoggerFactory.getLogger(ZLMServerFactory.class); @Autowired private ZLMRESTfulUtils zlmresTfulUtils; From d3d9d3d964bd676c560eaeef2fe0217314d6bcda Mon Sep 17 00:00:00 2001 From: ZhaoYandong00 Date: Thu, 1 Aug 2024 20:22:13 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=E9=80=89=E6=8B=A9=E6=98=BE=E7=A4=BA=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E4=B8=8A=E4=BC=A0=E7=BD=91=E7=BB=9C=E9=80=9F=E7=8E=87?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复单独选择一项时,会自动回到全选择的问题 修复单独选择一项时查看指定时间速率提示报错的问题 --- web_src/src/components/console/ConsoleNet.vue | 46 ++++++++++++++++++- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/web_src/src/components/console/ConsoleNet.vue b/web_src/src/components/console/ConsoleNet.vue index 22d4f343c..e01368075 100755 --- a/web_src/src/components/console/ConsoleNet.vue +++ b/web_src/src/components/console/ConsoleNet.vue @@ -1,6 +1,6 @@ @@ -59,12 +59,54 @@ export default { tooltip: { trigger: 'axis', formatter: (data)=>{ - return data[1].marker + "下载:" + parseFloat(data[1].data[1]).toFixed(2) + "Mbps" + "
"+ data[0].marker +" 上传:" + parseFloat(data[0].data[1]).toFixed(2) + "Mbps"; + let in_sel = true; + let out_sel = true; + for (let key in this.extend.legend.selected) { + if (key == "上传") { + out_sel = this.extend.legend.selected[key]; + } + if (key == "下载") { + in_sel = this.extend.legend.selected[key]; + } + } + if (out_sel && in_sel) { + return ( + data[1].marker + + "下载:" + + parseFloat(data[1].data[1]).toFixed(2) + + "Mbps" + + "
" + + data[0].marker + + "上传:" + + parseFloat(data[0].data[1]).toFixed(2) + + "Mbps" + ); + } else if (out_sel) + return ( + data[0].marker + + "上传:" + + parseFloat(data[0].data[1]).toFixed(2) + + "Mbps" + ); + else if (in_sel) + return ( + data[0].marker + + "下载:" + + parseFloat(data[0].data[1]).toFixed(2) + + "Mbps" + ); + return ""; } }, legend: { left: "center", bottom: "15px", + selected: {}, + } + } + chartEvents: { + legendselectchanged: (item) => { + this.extend.legend.selected = item.selected; } } }; From a915897c530460f3c4463c34e242e6407fcdcb4c Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Wed, 7 Aug 2024 09:38:48 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E5=85=BC=E5=AE=B9arm=20zlm=20=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=8E=B7=E5=8F=96=E5=88=B0Params=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vmp/media/zlm/ZLMHttpHookListener.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java index a676fb92a..a1d302ad1 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java @@ -47,7 +47,10 @@ import org.springframework.web.context.request.async.DeferredResult; import javax.servlet.http.HttpServletRequest; import javax.sip.InvalidArgumentException; import javax.sip.SipException; +import java.net.MalformedURLException; +import java.net.URL; import java.text.ParseException; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; @@ -377,10 +380,27 @@ public class ZLMHttpHookListener { redisCatchStorage.updateStreamAuthorityInfo(param.getApp(), param.getStream(), streamAuthorityInfo); if (!"broadcast".equals(param.getApp()) && !"talk".equals(param.getApp())) { - Map params = MediaServerUtils.urlParamToMap(param.getParams()); - param.setParamMap(params); + String paramsStr = param.getParams(); + if (paramsStr == null) { + // 兼容arm zlm 无法获取到Params的问题 + URL url = null; + try { + url = new URL("http" + param.getOriginUrl().substring(4)); + } catch (MalformedURLException ignored) {} + if (url != null) { + paramsStr = url.getQuery(); + } + } + if (paramsStr != null) { + Map params = MediaServerUtils.urlParamToMap(paramsStr); + param.setParamMap(params); + }else { + param.setParamMap(new HashMap<>()); + logger.warn("获取推流的params信息失败"); + } + StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaInfo, - param.getApp(), param.getStream(), tracks, params.get("callId")); + param.getApp(), param.getStream(), tracks, param.getParamMap().get("callId")); param.setStreamInfo(new StreamContent(streamInfoByAppAndStream)); param.setSeverId(userSetting.getServerId()); From 074cd145355620db4a45d6c97713da5db87ac075 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Wed, 7 Aug 2024 09:44:37 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index df841d521..ff078c6fa 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ com.genersoft wvp-pro - 2.7.1 + 2.7.2 web video platform 国标28181视频平台 ${project.packaging} From 40674c33a35294e04f96750e42da602000883a57 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Wed, 7 Aug 2024 10:04:10 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7b60b6931..03247f4ba 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ com.genersoft wvp-pro - 2.7.2 + 2.7.3 web video platform 国标28181视频平台 ${project.packaging} From c88681c7ad06391fa8cce0b910f45cf4f479889d Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Wed, 7 Aug 2024 10:41:54 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vmp/media/event/media/MediaArrivalEvent.java | 14 ++++++++++++++ .../iot/vmp/media/zlm/ZLMHttpHookListener.java | 15 +++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java b/src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java index 2f51a3e21..8273bf9dd 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java +++ b/src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java @@ -5,6 +5,8 @@ import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam; import com.genersoft.iot.vmp.vmanager.bean.StreamContent; +import java.util.Map; + /** * 流到来事件 */ @@ -22,6 +24,7 @@ public class MediaArrivalEvent extends MediaEvent { mediaArrivalEvent.setSchema(hookParam.getSchema()); mediaArrivalEvent.setSchema(hookParam.getSchema()); mediaArrivalEvent.setHookParam(hookParam); + mediaArrivalEvent.setParamMap(hookParam.getParamMap()); return mediaArrivalEvent; } @@ -33,6 +36,8 @@ public class MediaArrivalEvent extends MediaEvent { private StreamContent streamInfo; + private Map paramMap; + public MediaInfo getMediaInfo() { return mediaInfo; } @@ -65,4 +70,13 @@ public class MediaArrivalEvent extends MediaEvent { public void setStreamInfo(StreamContent streamInfo) { this.streamInfo = streamInfo; } + + + public Map getParamMap() { + return paramMap; + } + + public void setParamMap(Map paramMap) { + this.paramMap = paramMap; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java index 636b4bf1c..5698238ea 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java @@ -36,6 +36,9 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.HashMap; import java.util.Map; /** @@ -218,6 +221,18 @@ public class ZLMHttpHookListener { if (param.getSchema().equalsIgnoreCase("rtsp")) { if (param.isRegist()) { logger.info("[ZLM HOOK] 流注册, {}->{}->{}/{}", param.getMediaServerId(), param.getSchema(), param.getApp(), param.getStream()); + String queryParams = param.getParams(); + if (queryParams == null) { + try { + URL url = new URL("http" + param.getOriginUrl().substring(4)); + queryParams = url.getQuery(); + }catch (MalformedURLException ignored) {} + } + if (queryParams != null) { + param.setParamMap(MediaServerUtils.urlParamToMap(queryParams)); + }else { + param.setParamMap(new HashMap<>()); + } MediaArrivalEvent mediaArrivalEvent = MediaArrivalEvent.getInstance(this, param, mediaServer); applicationEventPublisher.publishEvent(mediaArrivalEvent); } else { From a01d4fa74e178f7d17c7f123879a1e125370a93d Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Wed, 7 Aug 2024 10:49:35 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=BC=96=E8=AF=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/src/components/console/ConsoleNet.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/src/components/console/ConsoleNet.vue b/web_src/src/components/console/ConsoleNet.vue index e01368075..6266f35ac 100755 --- a/web_src/src/components/console/ConsoleNet.vue +++ b/web_src/src/components/console/ConsoleNet.vue @@ -103,7 +103,7 @@ export default { bottom: "15px", selected: {}, } - } + }, chartEvents: { legendselectchanged: (item) => { this.extend.legend.selected = item.selected;