From 34f2832bef490cdce29ebb60c3bf17c3d9160f8a Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 28 七月 2022 11:22:51 +0800 Subject: [PATCH] 优化gps信息存入数据库 --- src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java | 39 +++++++++++++++++++++------------------ 1 files changed, 21 insertions(+), 18 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 f4a2744..b1f0fec 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 @@ -87,6 +87,9 @@ @Autowired private VideoStreamSessionManager sessionManager; + @Autowired + private AssistRESTfulUtils assistRESTfulUtils; + /** * 鏈嶅姟鍣ㄥ畾鏃朵笂鎶ユ椂闂达紝涓婃姤闂撮殧鍙厤缃紝榛樿10s涓婃姤涓�娆� * @@ -105,6 +108,7 @@ subscribe.response(null, json); } } + mediaServerService.updateMediaServerKeepalive(mediaServerId, json.getJSONObject("data")); JSONObject ret = new JSONObject(); ret.put("code", 0); @@ -200,6 +204,8 @@ logger.info("[ ZLM HOOK ]on_publish API璋冪敤锛屽弬鏁帮細" + json.toString()); JSONObject ret = new JSONObject(); + String mediaServerId = json.getString("mediaServerId"); + MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId); if (!"rtp".equals(param.getApp())) { // 鎺ㄦ祦閴存潈 if (param.getParams() == null) { @@ -231,6 +237,12 @@ streamAuthorityInfo.setSign(sign); // 閴存潈閫氳繃 redisCatchStorage.updateStreamAuthorityInfo(param.getApp(), param.getStream(), streamAuthorityInfo); + // 閫氱煡assist鏂扮殑callId + if (mediaInfo != null) { + assistRESTfulUtils.addStreamCallInfo(mediaInfo, param.getApp(), param.getStream(), callId, null); + } + }else { + zlmMediaListManager.sendStreamEvent(param.getApp(),param.getStream(), param.getMediaServerId()); } ret.put("code", 0); @@ -240,10 +252,9 @@ ret.put("enable_audio", true); } - String mediaServerId = json.getString("mediaServerId"); + ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_publish, json); if (subscribe != null) { - MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId); if (mediaInfo != null) { subscribe.response(mediaInfo, json); }else { @@ -270,8 +281,10 @@ ret.put("mp4_max_second", 10); ret.put("enable_mp4", true); ret.put("enable_audio", true); + } } + return new ResponseEntity<String>(ret.toString(), HttpStatus.OK); @@ -451,7 +464,6 @@ StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaServerItem, app, stream, tracks, streamAuthorityInfo.getCallId()); item.setStreamInfo(streamInfoByAppAndStream); - redisCatchStorage.addStream(mediaServerItem, type, app, stream, item); if (item.getOriginType() == OriginType.RTSP_PUSH.ordinal() || item.getOriginType() == OriginType.RTMP_PUSH.ordinal() @@ -459,20 +471,6 @@ item.setSeverId(userSetting.getServerId()); zlmMediaListManager.addPush(item); } - -// List<GbStream> gbStreams = new ArrayList<>(); -// if (streamPushItem == null || streamPushItem.getGbId() == null) { -// GbStream gbStream = storager.getGbStream(app, streamId); -// gbStreams.add(gbStream); -// }else { -// if (streamPushItem.getGbId() != null) { -// gbStreams.add(streamPushItem); -// } -// } -// if (gbStreams.size() > 0) { -// eventPublisher.catalogEventPublishForStream(null, gbStreams, CatalogEvent.ON); -// } - }else { // 鍏煎娴佹敞閿�鏃剁被鍨嬩粠redis璁板綍鑾峰彇 MediaItem mediaItem = redisCatchStorage.getStreamInfo(app, stream, mediaServerId); @@ -622,10 +620,15 @@ subscribe.response(null, jsonObject); } } + + ZLMServerConfig zlmServerConfig = JSONObject.toJavaObject(jsonObject, ZLMServerConfig.class); + if (zlmServerConfig !=null ) { + mediaServerService.zlmServerOnline(zlmServerConfig); + } JSONObject ret = new JSONObject(); ret.put("code", 0); ret.put("msg", "success"); - return new ResponseEntity<String>(ret.toString(),HttpStatus.OK); + return new ResponseEntity<>(ret.toString(),HttpStatus.OK); } private Map<String, String> urlParamToMap(String params) { -- Gitblit v1.8.0