diff --git a/pom.xml b/pom.xml index 9a5edc53..0613a9e8 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} 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 2f51a3e2..8273bf9d 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 99755b29..36557c54 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 @@ -21,6 +21,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; /** @@ -140,7 +143,19 @@ public class ZLMHttpHookListener { } if (param.getSchema().equalsIgnoreCase("rtsp")) { if (param.isRegist()) { - log.info("[ZLM HOOK] 流注册, {}->{}->{}/{}", param.getMediaServerId(), param.getSchema(), param.getApp(), param.getStream()); + 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 { diff --git a/web_src/src/components/console/ConsoleNet.vue b/web_src/src/components/console/ConsoleNet.vue index 22d4f343..6266f35a 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; } } }; diff --git a/web_src/src/components/dialog/configInfo.vue b/web_src/src/components/dialog/configInfo.vue index 4ac90cc1..706cacca 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}}