From fe98e57fc4350ddc2220b5f6f2201d0d73573c01 Mon Sep 17 00:00:00 2001 From: panlinlin <648540858@qq.com> Date: 星期一, 19 四月 2021 11:13:39 +0800 Subject: [PATCH] 增加对https的支持 --- src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java | 22 +++++++++++++++------- 1 files changed, 15 insertions(+), 7 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 878e016..183a544 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java @@ -118,6 +118,10 @@ if (logger.isDebugEnabled()) { logger.debug("ZLM HOOK on_play API璋冪敤锛屽弬鏁帮細" + json.toString()); } + ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_play, json); + if (subscribe != null ) { + subscribe.response(json); + } JSONObject ret = new JSONObject(); ret.put("code", 0); ret.put("msg", "success"); @@ -216,7 +220,7 @@ // String app = json.getString("app"); // String stream = json.getString("stream"); - ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_publish, json); + ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_shell_login, json); if (subscribe != null) subscribe.response(json); JSONObject ret = new JSONObject(); @@ -236,18 +240,22 @@ if (logger.isDebugEnabled()) { logger.debug("ZLM HOOK on_stream_changed API璋冪敤锛屽弬鏁帮細" + json.toString()); } + + ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, json); + if (subscribe != null) subscribe.response(json); + // 娴佹秷澶辩Щ闄edis play String app = json.getString("app"); String streamId = json.getString("stream"); String schema = json.getString("schema"); JSONArray tracks = json.getJSONArray("tracks"); - String regist = json.getString("regist"); + boolean regist = json.getBoolean("regist"); if (tracks != null) { System.out.println("222222" + schema); } if ("rtmp".equals(schema)){ - if ("rtp".equals(app) && regist != null ) { + if ("rtp".equals(app) && !regist ) { StreamInfo streamInfo = redisCatchStorage.queryPlayByStreamId(streamId); if (streamInfo!=null){ redisCatchStorage.stopPlay(streamInfo); @@ -258,7 +266,7 @@ } }else { if (!"rtp".equals(app) ){ - if (regist == null) { + if (regist) { zlmMediaListManager.addMedia(app, streamId); }else { zlmMediaListManager.removeMedia(app, streamId); @@ -298,12 +306,12 @@ if (redisCatchStorage.isChannelSendingRTP(streamInfo.getChannelId())) { ret.put("close", false); } else { - cmder.streamByeCmd(streamId); + cmder.streamByeCmd(streamInfo.getDeviceID(), streamInfo.getChannelId()); redisCatchStorage.stopPlay(streamInfo); storager.stopPlay(streamInfo.getDeviceID(), streamInfo.getChannelId()); } }else{ - cmder.streamByeCmd(streamId); + cmder.streamByeCmd(streamInfo.getDeviceID(), streamInfo.getChannelId()); streamInfo = redisCatchStorage.queryPlaybackByStreamId(streamId); redisCatchStorage.stopPlayback(streamInfo); } @@ -332,7 +340,7 @@ String app = json.getString("app"); String streamId = json.getString("stream"); StreamInfo streamInfo = redisCatchStorage.queryPlayByStreamId(streamId); - if ("rtp".equals(app) && streamId.indexOf("gb_play") > -1 && streamInfo == null) { + if ("rtp".equals(app) && streamId.contains("gb_play") && streamInfo == null) { String[] s = streamId.split("_"); if (s.length == 4) { String deviceId = s[2]; -- Gitblit v1.8.0