jiang
2022-07-19 fc0ad32f815535a5a4aee55f92eaac92cbd4d97b
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -87,6 +87,9 @@
   @Autowired
   private VideoStreamSessionManager sessionManager;
   @Autowired
   private AssistRESTfulUtils assistRESTfulUtils;
   /**
    * 服务器定时上报时间,上报间隔可配置,默认10s上报一次
    *
@@ -200,6 +203,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 +236,10 @@
         streamAuthorityInfo.setSign(sign);
         // 鉴权通过
         redisCatchStorage.updateStreamAuthorityInfo(param.getApp(), param.getStream(), streamAuthorityInfo);
         // 通知assist新的callId
         if (mediaInfo != null) {
            assistRESTfulUtils.addStreamCallInfo(mediaInfo, param.getApp(), param.getStream(), callId, null);
         }
      }
      ret.put("code", 0);
@@ -240,10 +249,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 +278,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 +461,7 @@
                     StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaServerItem,
                           app, stream, tracks, streamAuthorityInfo.getCallId());
                     item.setStreamInfo(streamInfoByAppAndStream);
                     item.setSeverId(userSetting.getServerId());
                     redisCatchStorage.addStream(mediaServerItem, type, app, stream, item);
                     if (item.getOriginType() == OriginType.RTSP_PUSH.ordinal()
                           || item.getOriginType() == OriginType.RTMP_PUSH.ordinal()