Ver código fonte

支持abl hook

648540858 1 ano atrás
pai
commit
33b75be71a
86 arquivos alterados com 1080 adições e 261 exclusões
  1. 1 1
      src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java
  2. 1 1
      src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java
  3. 1 1
      src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
  4. 1 1
      src/main/java/com/genersoft/iot/vmp/gb28181/bean/AudioBroadcastCatch.java
  5. 1 1
      src/main/java/com/genersoft/iot/vmp/gb28181/bean/InviteStreamInfo.java
  6. 1 1
      src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java
  7. 1 1
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
  8. 1 1
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java
  9. 1 1
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
  10. 1 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java
  11. 1 1
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/AckRequestProcessor.java
  12. 1 1
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java
  13. 1 1
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
  14. 1 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/BroadcastNotifyMessageHandler.java
  15. 1 1
      src/main/java/com/genersoft/iot/vmp/media/MediaServerConfig.java
  16. 410 0
      src/main/java/com/genersoft/iot/vmp/media/abl/ABLHttpHookListener.java
  17. 1 1
      src/main/java/com/genersoft/iot/vmp/media/abl/ABLMediaNodeServerService.java
  18. 1 1
      src/main/java/com/genersoft/iot/vmp/media/abl/ABLMediaServerStatusManger.java
  19. 1 1
      src/main/java/com/genersoft/iot/vmp/media/abl/ABLRESTfulUtils.java
  20. 58 0
      src/main/java/com/genersoft/iot/vmp/media/abl/bean/AblUrls.java
  21. 65 0
      src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/ABLHookParam.java
  22. 31 0
      src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnPlayABLHookParam.java
  23. 31 0
      src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnPublishABLHookParam.java
  24. 13 0
      src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnRecordMp4ABLHookParam.java
  25. 22 0
      src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnRecordProgressABLHookParam.java
  26. 32 0
      src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnServerKeepaliveABLHookParam.java
  27. 32 0
      src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnServerStaredABLHookParam.java
  28. 245 0
      src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnStreamArriveABLHookParam.java
  29. 1 1
      src/main/java/com/genersoft/iot/vmp/media/abl/event/HookAblServerKeepaliveEvent.java
  30. 1 1
      src/main/java/com/genersoft/iot/vmp/media/abl/event/HookAblServerStartEvent.java
  31. 19 1
      src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java
  32. 2 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServer.java
  33. 7 0
      src/main/java/com/genersoft/iot/vmp/media/bean/RecordInfo.java
  34. 1 1
      src/main/java/com/genersoft/iot/vmp/media/event/hook/HookData.java
  35. 11 1
      src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java
  36. 10 1
      src/main/java/com/genersoft/iot/vmp/media/event/media/MediaDepartureEvent.java
  37. 1 3
      src/main/java/com/genersoft/iot/vmp/media/event/media/MediaEvent.java
  38. 10 1
      src/main/java/com/genersoft/iot/vmp/media/event/media/MediaNotFoundEvent.java
  39. 1 1
      src/main/java/com/genersoft/iot/vmp/media/event/media/MediaPublishEvent.java
  40. 13 2
      src/main/java/com/genersoft/iot/vmp/media/event/media/MediaRecordMp4Event.java
  41. 1 1
      src/main/java/com/genersoft/iot/vmp/media/event/media/MediaRtpServerTimeoutEvent.java
  42. 1 1
      src/main/java/com/genersoft/iot/vmp/media/event/mediaServer/MediaSendRtpStoppedEvent.java
  43. 1 1
      src/main/java/com/genersoft/iot/vmp/media/event/mediaServer/MediaServerChangeEvent.java
  44. 1 1
      src/main/java/com/genersoft/iot/vmp/media/service/IMediaNodeServerService.java
  45. 1 1
      src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java
  46. 1 1
      src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
  47. 1 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java
  48. 1 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/SendRtpPortManager.java
  49. 1 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
  50. 1 0
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
  51. 1 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java
  52. 1 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManger.java
  53. 1 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
  54. 1 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java
  55. 0 168
      src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItemLite.java
  56. 2 0
      src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/HookParam.java
  57. 1 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/event/HookZlmServerKeepaliveEvent.java
  58. 1 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/event/HookZlmServerStartEvent.java
  59. 1 2
      src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java
  60. 1 3
      src/main/java/com/genersoft/iot/vmp/service/IMediaService.java
  61. 1 1
      src/main/java/com/genersoft/iot/vmp/service/IPlatformService.java
  62. 1 2
      src/main/java/com/genersoft/iot/vmp/service/IPlayService.java
  63. 1 1
      src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java
  64. 1 1
      src/main/java/com/genersoft/iot/vmp/service/bean/PlayBackResult.java
  65. 1 1
      src/main/java/com/genersoft/iot/vmp/service/bean/ResponseSendItemMsg.java
  66. 1 3
      src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java
  67. 1 1
      src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java
  68. 1 1
      src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
  69. 1 3
      src/main/java/com/genersoft/iot/vmp/service/impl/PlatformServiceImpl.java
  70. 1 5
      src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
  71. 1 1
      src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
  72. 1 1
      src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
  73. 1 1
      src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGbPlayMsgListener.java
  74. 1 1
      src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamCloseResponseListener.java
  75. 1 1
      src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
  76. 1 1
      src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
  77. 1 1
      src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java
  78. 1 1
      src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
  79. 1 1
      src/main/java/com/genersoft/iot/vmp/utils/CloudRecordUtils.java
  80. 1 1
      src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java
  81. 1 1
      src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
  82. 1 2
      src/main/java/com/genersoft/iot/vmp/vmanager/ps/PsController.java
  83. 1 2
      src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java
  84. 1 3
      src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
  85. 1 1
      src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java
  86. 1 1
      src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java

@@ -1,7 +1,7 @@
 package com.genersoft.iot.vmp.conf;
 
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.bean.CloudRecordItem;
 import com.genersoft.iot.vmp.storager.dao.CloudRecordServiceMapper;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.conf;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.utils.DateUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.conf;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/bean/AudioBroadcastCatch.java

@@ -1,7 +1,7 @@
 package com.genersoft.iot.vmp.gb28181.bean;
 
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.vmanager.gb28181.play.bean.AudioBroadcastEvent;
 import gov.nist.javax.sip.message.SIPResponse;
 

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/bean/InviteStreamInfo.java

@@ -1,7 +1,7 @@
 package com.genersoft.iot.vmp.gb28181.bean;
 
 import com.alibaba.fastjson2.JSONObject;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 
 public class InviteStreamInfo {
 

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java

@@ -6,7 +6,7 @@ import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
 import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
 import com.genersoft.iot.vmp.gb28181.session.SSRCFactory;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.IDeviceService;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IPlatformService;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java

@@ -8,7 +8,7 @@ import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm;
 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
 import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 import gov.nist.javax.sip.message.SIPRequest;
 

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java

@@ -4,7 +4,7 @@ import com.genersoft.iot.vmp.conf.exception.SsrcTransactionNotFoundException;
 import com.genersoft.iot.vmp.gb28181.bean.*;
 import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java

@@ -19,7 +19,7 @@ import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
 import com.genersoft.iot.vmp.media.event.hook.HookType;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 import com.genersoft.iot.vmp.utils.DateUtil;
 import gov.nist.javax.sip.message.SIPRequest;

+ 1 - 2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java

@@ -17,8 +17,7 @@ import com.genersoft.iot.vmp.media.event.hook.Hook;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
 import com.genersoft.iot.vmp.media.event.hook.HookType;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.HookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/AckRequestProcessor.java

@@ -11,7 +11,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.event.request.ISIPRequestProcessor
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.IDeviceService;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IPlayService;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java

@@ -15,7 +15,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.event.request.ISIPRequestProcessor
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
 import com.genersoft.iot.vmp.service.*;
 import com.genersoft.iot.vmp.service.bean.MessageForPushChannel;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java

@@ -18,6 +18,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.ISIPRequestProcessor;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.event.hook.Hook;
 import com.genersoft.iot.vmp.media.event.hook.HookType;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
@@ -25,7 +26,6 @@ import com.genersoft.iot.vmp.media.zlm.ZLMMediaListManager;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.dto.*;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 import com.genersoft.iot.vmp.service.*;
 import com.genersoft.iot.vmp.service.bean.ErrorCallback;
 import com.genersoft.iot.vmp.service.bean.InviteErrorCode;

+ 1 - 2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/BroadcastNotifyMessageHandler.java

@@ -8,8 +8,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorP
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.NotifyMessageHandler;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.IDeviceService;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IPlatformService;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/MediaServerConfig.java

@@ -3,7 +3,7 @@ package com.genersoft.iot.vmp.media;
 import com.genersoft.iot.vmp.conf.MediaConfig;
 import com.genersoft.iot.vmp.media.event.mediaServer.MediaServerChangeEvent;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;

+ 410 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/ABLHttpHookListener.java

@@ -0,0 +1,410 @@
+package com.genersoft.iot.vmp.media.abl;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.genersoft.iot.vmp.conf.UserSetting;
+import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
+import com.genersoft.iot.vmp.gb28181.session.AudioBroadcastManager;
+import com.genersoft.iot.vmp.gb28181.session.SSRCFactory;
+import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
+import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
+import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
+import com.genersoft.iot.vmp.media.abl.bean.hook.*;
+import com.genersoft.iot.vmp.media.abl.event.HookAblServerKeepaliveEvent;
+import com.genersoft.iot.vmp.media.abl.event.HookAblServerStartEvent;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
+import com.genersoft.iot.vmp.media.bean.ResultForOnPublish;
+import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
+import com.genersoft.iot.vmp.media.event.media.*;
+import com.genersoft.iot.vmp.media.event.mediaServer.MediaSendRtpStoppedEvent;
+import com.genersoft.iot.vmp.media.service.IMediaServerService;
+import com.genersoft.iot.vmp.media.zlm.ZLMMediaListManager;
+import com.genersoft.iot.vmp.media.zlm.dto.hook.*;
+import com.genersoft.iot.vmp.service.*;
+import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
+import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * ABL 的hook事件监听
+ */
+@RestController
+@RequestMapping("/index/hook/abl")
+public class ABLHttpHookListener {
+
+    private final static Logger logger = LoggerFactory.getLogger(ABLHttpHookListener.class);
+
+    @Autowired
+    private ABLRESTfulUtils ablresTfulUtils;
+
+    @Autowired
+    private ISIPCommanderForPlatform commanderFroPlatform;
+
+    @Autowired
+    private AudioBroadcastManager audioBroadcastManager;
+
+    @Autowired
+    private IPlayService playService;
+
+    @Autowired
+    private IVideoManagerStorage storager;
+
+    @Autowired
+    private IRedisCatchStorage redisCatchStorage;
+
+    @Autowired
+    private IInviteStreamService inviteStreamService;
+
+    @Autowired
+    private IDeviceService deviceService;
+
+    @Autowired
+    private IMediaServerService mediaServerService;
+
+    @Autowired
+    private IStreamProxyService streamProxyService;
+
+    @Autowired
+    private DeferredResultHolder resultHolder;
+
+    @Autowired
+    private IMediaService mediaService;
+
+    @Autowired
+    private EventPublisher eventPublisher;
+
+    @Autowired
+    private ZLMMediaListManager zlmMediaListManager;
+
+    @Autowired
+    private HookSubscribe subscribe;
+
+    @Autowired
+    private UserSetting userSetting;
+
+    @Autowired
+    private IUserService userService;
+
+    @Autowired
+    private ICloudRecordService cloudRecordService;
+
+    @Autowired
+    private VideoStreamSessionManager sessionManager;
+
+    @Autowired
+    private SSRCFactory ssrcFactory;
+
+    @Qualifier("taskExecutor")
+    @Autowired
+    private ThreadPoolTaskExecutor taskExecutor;
+
+    @Autowired
+    private RedisTemplate<Object, Object> redisTemplate;
+
+    @Autowired
+    private ApplicationEventPublisher applicationEventPublisher;
+
+    /**
+     * 服务器定时上报时间,上报间隔可配置,默认10s上报一次
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_server_keepalive", produces = "application/json;charset=UTF-8")
+    public HookResult onServerKeepalive(@RequestBody OnServerKeepaliveABLHookParam param) {
+        try {
+            HookAblServerKeepaliveEvent event = new HookAblServerKeepaliveEvent(this);
+            MediaServer mediaServerItem = mediaServerService.getOne(param.getMediaServerId());
+            if (mediaServerItem != null) {
+                event.setMediaServerItem(mediaServerItem);
+                applicationEventPublisher.publishEvent(event);
+            }
+        }catch (Exception e) {
+            logger.info("[ZLM-HOOK-心跳] 发送通知失败 ", e);
+        }
+        return HookResult.SUCCESS();
+    }
+
+    /**
+     * 播放器鉴权事件,rtsp/rtmp/http-flv/ws-flv/hls的播放都将触发此鉴权事件。
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_play", produces = "application/json;charset=UTF-8")
+    public HookResult onPlay(@RequestBody OnPlayABLHookParam param) {
+
+        MediaServer mediaServer = mediaServerService.getOne(param.getMediaServerId());
+        if (mediaServer == null) {
+            return new HookResultForOnPublish(0, "success");
+        }
+
+        Map<String, String> paramMap = urlParamToMap(param.getParams());
+        // 对于播放流进行鉴权
+        boolean authenticateResult = mediaService.authenticatePlay(param.getApp(), param.getStream(), paramMap.get("callId"));
+        if (!authenticateResult) {
+            logger.info("[ABL HOOK] 播放鉴权 失败:{}->{}", param.getMediaServerId(), param);
+            ablresTfulUtils.closeStreams(mediaServer, param.getApp(), param.getStream());
+
+        }
+        logger.info("[ABL HOOK] 播放鉴权成功:{}->{}", param.getMediaServerId(), param);
+        return HookResult.SUCCESS();
+    }
+
+    /**
+     * rtsp/rtmp/rtp推流鉴权事件。
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_publish", produces = "application/json;charset=UTF-8")
+    public HookResult onPublish(@RequestBody OnPublishABLHookParam param) {
+
+
+        logger.info("[ABL HOOK]推流鉴权:{}->{}", param.getMediaServerId(), param);
+        // TODO 加快处理速度
+
+        MediaServer mediaServer = mediaServerService.getOne(param.getMediaServerId());
+        if (mediaServer == null) {
+            return new HookResultForOnPublish(0, "success");
+        }
+
+        ResultForOnPublish resultForOnPublish = mediaService.authenticatePublish(mediaServer, param.getApp(), param.getStream(), param.getParams());
+        if (resultForOnPublish == null) {
+            logger.info("[ABL HOOK]推流鉴权 拒绝 响应:{}->{}", param.getMediaServerId(), param);
+            ablresTfulUtils.closeStreams(mediaServer, param.getApp(), param.getStream());
+        }
+        return HookResult.SUCCESS();
+    }
+
+    /**
+     * 如果某一个码流进行MP4录像(enable_mp4=1),会触发录像进度通知事件
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_record_progress", produces = "application/json;charset=UTF-8")
+    public HookResult onRecordProgress(@RequestBody OnRecordProgressABLHookParam param) {
+
+
+        logger.info("[ABL HOOK] 录像进度通知:{}->{}/{}->{}/{}", param.getMediaServerId(), param.getApp(), param.getStream(), param.getCurrentFileDuration(), param.getTotalVideoDuration());
+
+        // TODO 这里用来做录像进度
+//        MediaServer mediaServer = mediaServerService.getOne(param.getMediaServerId());
+//        if (mediaServer == null) {
+//            return new HookResultForOnPublish(0, "success");
+//        }
+//
+//        ResultForOnPublish resultForOnPublish = mediaService.authenticatePublish(mediaServer, param.getApp(), param.getStream(), param.getParams());
+//        if (resultForOnPublish == null) {
+//            logger.info("[ABL HOOK]推流鉴权 拒绝 响应:{}->{}", param.getMediaServerId(), param);
+//            ablresTfulUtils.closeStreams(mediaServer, param.getApp(), param.getStream());
+//        }
+        return HookResult.SUCCESS();
+    }
+
+    /**
+     * 当代理拉流、国标接入等等 码流不到达时会发出 码流不到达的事件通知
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_stream_not_arrive", produces = "application/json;charset=UTF-8")
+    public HookResult onStreamNotArrive(@RequestBody ABLHookParam param) {
+
+
+        logger.info("[ABL HOOK] 码流不到达通知:{}->{}/{}->{}/{}", param.getMediaServerId(), param.getApp(), param.getStream(), param.getCurrentFileDuration(), param.getTotalVideoDuration());
+        try {
+            if ("rtp".equals(param.getApp())) {
+                return HookResult.SUCCESS();
+            }
+            MediaRtpServerTimeoutEvent event = new MediaRtpServerTimeoutEvent(this);
+            MediaServer mediaServerItem = mediaServerService.getOne(param.getMediaServerId());
+            if (mediaServerItem != null) {
+                event.setMediaServer(mediaServerItem);
+                event.setApp("rtp");
+                applicationEventPublisher.publishEvent(event);
+            }
+        }catch (Exception e) {
+            logger.info("[ABL-HOOK-码流不到达通知] 发送通知失败 ", e);
+        }
+
+        return HookResult.SUCCESS();
+    }
+
+    /**
+     * 如果某一个码流进行MP4录像(enable_mp4=1),当某个MP4文件被删除会触发该事件通知
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_delete_record_mp4", produces = "application/json;charset=UTF-8")
+    public HookResult onDeleteRecordMp4(@RequestBody OnRecordMp4ABLHookParam param) {
+
+
+        logger.info("[ABL HOOK] MP4文件被删除通知:{}->{}/{}->{}/{}", param.getMediaServerId(), param.getApp(), param.getStream(), param.getCurrentFileDuration(), param.getTotalVideoDuration());
+
+
+        return HookResult.SUCCESS();
+    }
+
+
+    /**
+     * rtsp/rtmp流注册或注销时触发此事件;此事件对回复不敏感。
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_stream_arrive", produces = "application/json;charset=UTF-8")
+    public HookResult onStreamArrive(@RequestBody OnStreamArriveABLHookParam param) {
+
+        MediaServer mediaServer = mediaServerService.getOne(param.getMediaServerId());
+        if (mediaServer == null) {
+            return HookResult.SUCCESS();
+        }
+
+        logger.info("[ABL HOOK] 码流到达, {}->{}/{}", param.getMediaServerId(), param.getApp(), param.getStream());
+        MediaArrivalEvent mediaArrivalEvent = MediaArrivalEvent.getInstance(this, param, mediaServer);
+        applicationEventPublisher.publishEvent(mediaArrivalEvent);
+        return HookResult.SUCCESS();
+    }
+
+    /**
+     * 流无人观看时事件,用户可以通过此事件选择是否关闭无人看的流。
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_stream_none_reader", produces = "application/json;charset=UTF-8")
+    public JSONObject onStreamNoneReader(@RequestBody ABLHookParam param) {
+
+        logger.info("[ZLM HOOK]流无人观看:{}->{}/{}", param.getMediaServerId(),
+                param.getApp(), param.getStream());
+        JSONObject ret = new JSONObject();
+
+        boolean close = mediaService.closeStreamOnNoneReader(param.getMediaServerId(), param.getApp(), param.getStream(), null);
+        ret.put("code", close);
+        return ret;
+    }
+
+    /**
+     * 当播放一个url,如果不存在时,会发出一个消息通知
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_stream_not_found", produces = "application/json;charset=UTF-8")
+    public HookResult onStreamNotFound(@RequestBody ABLHookParam param) {
+        logger.info("[ABL HOOK] 流未找到:{}->{}/{}", param.getMediaServerId(), param.getApp(), param.getStream());
+
+
+        MediaServer mediaServer = mediaServerService.getOne(param.getMediaServerId());
+        if (!userSetting.isAutoApplyPlay() || mediaServer == null) {
+            return HookResult.SUCCESS();
+        }
+        MediaNotFoundEvent mediaNotFoundEvent = MediaNotFoundEvent.getInstance(this, param, mediaServer);
+        applicationEventPublisher.publishEvent(mediaNotFoundEvent);
+        return HookResult.SUCCESS();
+    }
+
+    /**
+     * ABLMediaServer启动时会发送上线通知
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_server_started", produces = "application/json;charset=UTF-8")
+    public HookResult onServerStarted(HttpServletRequest request, @RequestBody OnServerStaredABLHookParam param) {
+
+        logger.info("[ABL HOOK] 启动 " + param.getMediaServerId());
+        try {
+            HookAblServerStartEvent event = new HookAblServerStartEvent(this);
+            MediaServer mediaServerItem = mediaServerService.getOne(param.getMediaServerId());
+            if (mediaServerItem != null) {
+                event.setMediaServerItem(mediaServerItem);
+                applicationEventPublisher.publishEvent(event);
+            }
+        }catch (Exception e) {
+            logger.info("[ABL-HOOK-启动] 发送通知失败 ", e);
+        }
+
+        return HookResult.SUCCESS();
+    }
+
+    /**
+     * TODO 发送rtp(startSendRtp)被动关闭时回调
+     */
+//    @ResponseBody
+//    @PostMapping(value = "/on_send_rtp_stopped", produces = "application/json;charset=UTF-8")
+//    public HookResult onSendRtpStopped(HttpServletRequest request, @RequestBody OnSendRtpStoppedHookParam param) {
+//
+//        logger.info("[ZLM HOOK] rtp发送关闭:{}->{}/{}", param.getMediaServerId(), param.getApp(), param.getStream());
+//
+//        // 查找对应的上级推流,发送停止
+//        if (!"rtp".equals(param.getApp())) {
+//            return HookResult.SUCCESS();
+//        }
+//        try {
+//            MediaSendRtpStoppedEvent event = new MediaSendRtpStoppedEvent(this);
+//            MediaServer mediaServerItem = mediaServerService.getOne(param.getMediaServerId());
+//            if (mediaServerItem != null) {
+//                event.setMediaServer(mediaServerItem);
+//                applicationEventPublisher.publishEvent(event);
+//            }
+//        }catch (Exception e) {
+//            logger.info("[ZLM-HOOK-rtp发送关闭] 发送通知失败 ", e);
+//        }
+//
+//        return HookResult.SUCCESS();
+//    }
+
+    /**
+     * TODO 录像完成事件
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_record_mp4", produces = "application/json;charset=UTF-8")
+    public HookResult onRecordMp4(HttpServletRequest request, @RequestBody OnRecordMp4ABLHookParam param) {
+        logger.info("[ABL HOOK] 录像完成事件:{}->{}", param.getMediaServerId(), param.getFileName());
+
+//        try {
+//            MediaServer mediaServerItem = mediaServerService.getOne(param.getMediaServerId());
+//            if (mediaServerItem != null) {
+//                MediaRecordMp4Event event = MediaRecordMp4Event.getInstance(this, param, mediaServerItem);
+//                event.setMediaServer(mediaServerItem);
+//                applicationEventPublisher.publishEvent(event);
+//            }
+//        }catch (Exception e) {
+//            logger.info("[ZLM-HOOK-rtpServer收流超时] 发送通知失败 ", e);
+//        }
+
+        return HookResult.SUCCESS();
+    }
+
+    /**
+     * 当某一路码流断开时会发送通知
+     */
+    @ResponseBody
+    @PostMapping(value = "/on_stream_disconnect", produces = "application/json;charset=UTF-8")
+    public HookResult onRecordMp4(HttpServletRequest request, @RequestBody ABLHookParam param) {
+        logger.info("[ABL HOOK] 码流断开事件, {}->{}/{}", param.getMediaServerId(), param.getApp(), param.getStream());
+
+        MediaServer mediaServer = mediaServerService.getOne(param.getMediaServerId());
+        if (mediaServer == null) {
+            return HookResult.SUCCESS();
+        }
+
+        MediaDepartureEvent mediaDepartureEvent = MediaDepartureEvent.getInstance(this, param, mediaServer);
+        applicationEventPublisher.publishEvent(mediaDepartureEvent);
+
+        return HookResult.SUCCESS();
+    }
+
+    private Map<String, String> urlParamToMap(String params) {
+        HashMap<String, String> map = new HashMap<>();
+        if (ObjectUtils.isEmpty(params)) {
+            return map;
+        }
+        String[] paramsArray = params.split("&");
+        if (paramsArray.length == 0) {
+            return map;
+        }
+        for (String param : paramsArray) {
+            String[] paramArray = param.split("=");
+            if (paramArray.length == 2) {
+                map.put(paramArray[0], paramArray[1]);
+            }
+        }
+        return map;
+    }
+}

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/abl/ABLMediaNodeServerService.java

@@ -4,7 +4,7 @@ import com.genersoft.iot.vmp.common.CommonCallback;
 import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.media.bean.MediaInfo;
 import com.genersoft.iot.vmp.media.service.IMediaNodeServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
 import org.springframework.stereotype.Service;
 

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/abl/ABLMediaServerStatusManger.java

@@ -11,7 +11,7 @@ import com.genersoft.iot.vmp.media.abl.event.HookAblServerStartEvent;
 import com.genersoft.iot.vmp.media.event.mediaServer.MediaServerChangeEvent;
 import com.genersoft.iot.vmp.media.event.mediaServer.MediaServerDeleteEvent;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/abl/ABLRESTfulUtils.java

@@ -2,7 +2,7 @@ package com.genersoft.iot.vmp.media.abl;
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import okhttp3.*;
 import okhttp3.logging.HttpLoggingInterceptor;
 import org.jetbrains.annotations.NotNull;

+ 58 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/bean/AblUrls.java

@@ -0,0 +1,58 @@
+package com.genersoft.iot.vmp.media.abl.bean;
+
+public class AblUrls {
+    private String rtsp;
+    private String rtmp;
+    private String httpFlv;
+    private String wsFlv;
+    private String httpMp4;
+    private String httpHls;
+
+    public String getRtsp() {
+        return rtsp;
+    }
+
+    public void setRtsp(String rtsp) {
+        this.rtsp = rtsp;
+    }
+
+    public String getRtmp() {
+        return rtmp;
+    }
+
+    public void setRtmp(String rtmp) {
+        this.rtmp = rtmp;
+    }
+
+    public String getHttpFlv() {
+        return httpFlv;
+    }
+
+    public void setHttpFlv(String httpFlv) {
+        this.httpFlv = httpFlv;
+    }
+
+    public String getWsFlv() {
+        return wsFlv;
+    }
+
+    public void setWsFlv(String wsFlv) {
+        this.wsFlv = wsFlv;
+    }
+
+    public String getHttpMp4() {
+        return httpMp4;
+    }
+
+    public void setHttpMp4(String httpMp4) {
+        this.httpMp4 = httpMp4;
+    }
+
+    public String getHttpHls() {
+        return httpHls;
+    }
+
+    public void setHttpHls(String httpHls) {
+        this.httpHls = httpHls;
+    }
+}

+ 65 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/ABLHookParam.java

@@ -0,0 +1,65 @@
+package com.genersoft.iot.vmp.media.abl.bean.hook;
+
+public class ABLHookParam {
+    private String mediaServerId;
+
+    /**
+     * 应用名
+     */
+    private String app;
+
+    /**
+     * 流id
+     */
+    private String stream;
+
+    /**
+     * 媒体流来源编号,可以根据这个key进行关闭流媒体 可以调用delMediaStream或close_streams 函数进行关闭
+     */
+    private String key;
+
+    /**
+     * 媒体流来源网络编号,可参考附表
+     */
+    private String networkType;
+
+    public String getMediaServerId() {
+        return mediaServerId;
+    }
+
+    public void setMediaServerId(String mediaServerId) {
+        this.mediaServerId = mediaServerId;
+    }
+
+    public String getApp() {
+        return app;
+    }
+
+    public void setApp(String app) {
+        this.app = app;
+    }
+
+    public String getStream() {
+        return stream;
+    }
+
+    public void setStream(String stream) {
+        this.stream = stream;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public String getNetworkType() {
+        return networkType;
+    }
+
+    public void setNetworkType(String networkType) {
+        this.networkType = networkType;
+    }
+}

+ 31 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnPlayABLHookParam.java

@@ -0,0 +1,31 @@
+package com.genersoft.iot.vmp.media.abl.bean.hook;
+
+public class OnPlayABLHookParam extends ABLHookParam{
+    private String ip;
+    private Integer port;
+    private String params;
+
+    public String getIp() {
+        return ip;
+    }
+
+    public void setIp(String ip) {
+        this.ip = ip;
+    }
+
+    public Integer getPort() {
+        return port;
+    }
+
+    public void setPort(Integer port) {
+        this.port = port;
+    }
+
+    public String getParams() {
+        return params;
+    }
+
+    public void setParams(String params) {
+        this.params = params;
+    }
+}

+ 31 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnPublishABLHookParam.java

@@ -0,0 +1,31 @@
+package com.genersoft.iot.vmp.media.abl.bean.hook;
+
+public class OnPublishABLHookParam extends ABLHookParam{
+    private String ip;
+    private Integer port;
+    private String params;
+
+    public String getIp() {
+        return ip;
+    }
+
+    public void setIp(String ip) {
+        this.ip = ip;
+    }
+
+    public Integer getPort() {
+        return port;
+    }
+
+    public void setPort(Integer port) {
+        this.port = port;
+    }
+
+    public String getParams() {
+        return params;
+    }
+
+    public void setParams(String params) {
+        this.params = params;
+    }
+}

+ 13 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnRecordMp4ABLHookParam.java

@@ -0,0 +1,13 @@
+package com.genersoft.iot.vmp.media.abl.bean.hook;
+
+public class OnRecordMp4ABLHookParam extends ABLHookParam{
+    private String fileName;
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+}

+ 22 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnRecordProgressABLHookParam.java

@@ -0,0 +1,22 @@
+package com.genersoft.iot.vmp.media.abl.bean.hook;
+
+public class OnRecordProgressABLHookParam extends OnRecordMp4ABLHookParam{
+    private Integer currentFileDuration;
+    private Integer TotalVideoDuration;
+
+    public Integer getCurrentFileDuration() {
+        return currentFileDuration;
+    }
+
+    public void setCurrentFileDuration(Integer currentFileDuration) {
+        this.currentFileDuration = currentFileDuration;
+    }
+
+    public Integer getTotalVideoDuration() {
+        return TotalVideoDuration;
+    }
+
+    public void setTotalVideoDuration(Integer totalVideoDuration) {
+        TotalVideoDuration = totalVideoDuration;
+    }
+}

+ 32 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnServerKeepaliveABLHookParam.java

@@ -0,0 +1,32 @@
+package com.genersoft.iot.vmp.media.abl.bean.hook;
+
+public class OnServerKeepaliveABLHookParam {
+    private String localipAddress;
+    private String mediaServerId;
+    private String datetime;
+
+
+    public String getLocalipAddress() {
+        return localipAddress;
+    }
+
+    public void setLocalipAddress(String localipAddress) {
+        this.localipAddress = localipAddress;
+    }
+
+    public String getMediaServerId() {
+        return mediaServerId;
+    }
+
+    public void setMediaServerId(String mediaServerId) {
+        this.mediaServerId = mediaServerId;
+    }
+
+    public String getDatetime() {
+        return datetime;
+    }
+
+    public void setDatetime(String datetime) {
+        this.datetime = datetime;
+    }
+}

+ 32 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnServerStaredABLHookParam.java

@@ -0,0 +1,32 @@
+package com.genersoft.iot.vmp.media.abl.bean.hook;
+
+public class OnServerStaredABLHookParam {
+    private String localipAddress;
+    private String mediaServerId;
+    private String datetime;
+
+
+    public String getLocalipAddress() {
+        return localipAddress;
+    }
+
+    public void setLocalipAddress(String localipAddress) {
+        this.localipAddress = localipAddress;
+    }
+
+    public String getMediaServerId() {
+        return mediaServerId;
+    }
+
+    public void setMediaServerId(String mediaServerId) {
+        this.mediaServerId = mediaServerId;
+    }
+
+    public String getDatetime() {
+        return datetime;
+    }
+
+    public void setDatetime(String datetime) {
+        this.datetime = datetime;
+    }
+}

+ 245 - 0
src/main/java/com/genersoft/iot/vmp/media/abl/bean/hook/OnStreamArriveABLHookParam.java

@@ -0,0 +1,245 @@
+package com.genersoft.iot.vmp.media.abl.bean.hook;
+
+import com.genersoft.iot.vmp.media.abl.bean.AblUrls;
+
+/**
+ * 流到来的事件
+ */
+public class OnStreamArriveABLHookParam extends ABLHookParam{
+
+
+
+    /**
+     * 推流鉴权Id
+     */
+    private String callId;
+
+    /**
+     * 状态
+     */
+    private Boolean status;
+
+
+    /**
+     *
+     */
+    private Boolean enableHls;
+
+
+    /**
+     *
+     */
+    private Boolean transcodingStatus;
+
+
+    /**
+     *
+     */
+    private String sourceURL;
+
+
+    /**
+     *
+     */
+    private Integer readerCount;
+
+
+    /**
+     *
+     */
+    private Integer noneReaderDuration;
+
+
+    /**
+     *
+     */
+    private String videoCodec;
+
+
+    /**
+     *
+     */
+    private Integer videoFrameSpeed;
+
+
+    /**
+     *
+     */
+    private Integer width;
+
+
+    /**
+     *
+     */
+    private Integer height;
+
+
+    /**
+     *
+     */
+    private Integer videoBitrate;
+
+
+    /**
+     *
+     */
+    private String audioCodec;
+
+
+    /**
+     *
+     */
+    private Integer audioChannels;
+
+
+    /**
+     *
+     */
+    private Integer audioSampleRate;
+
+
+    /**
+     *
+     */
+    private Integer audioBitrate;
+
+
+    private AblUrls url;
+
+
+    public String getCallId() {
+        return callId;
+    }
+
+    public void setCallId(String callId) {
+        this.callId = callId;
+    }
+
+    public Boolean getStatus() {
+        return status;
+    }
+
+    public void setStatus(Boolean status) {
+        this.status = status;
+    }
+
+    public Boolean getEnableHls() {
+        return enableHls;
+    }
+
+    public void setEnableHls(Boolean enableHls) {
+        this.enableHls = enableHls;
+    }
+
+    public Boolean getTranscodingStatus() {
+        return transcodingStatus;
+    }
+
+    public void setTranscodingStatus(Boolean transcodingStatus) {
+        this.transcodingStatus = transcodingStatus;
+    }
+
+    public String getSourceURL() {
+        return sourceURL;
+    }
+
+    public void setSourceURL(String sourceURL) {
+        this.sourceURL = sourceURL;
+    }
+
+    public Integer getReaderCount() {
+        return readerCount;
+    }
+
+    public void setReaderCount(Integer readerCount) {
+        this.readerCount = readerCount;
+    }
+
+    public Integer getNoneReaderDuration() {
+        return noneReaderDuration;
+    }
+
+    public void setNoneReaderDuration(Integer noneReaderDuration) {
+        this.noneReaderDuration = noneReaderDuration;
+    }
+
+    public String getVideoCodec() {
+        return videoCodec;
+    }
+
+    public void setVideoCodec(String videoCodec) {
+        this.videoCodec = videoCodec;
+    }
+
+    public Integer getVideoFrameSpeed() {
+        return videoFrameSpeed;
+    }
+
+    public void setVideoFrameSpeed(Integer videoFrameSpeed) {
+        this.videoFrameSpeed = videoFrameSpeed;
+    }
+
+    public Integer getWidth() {
+        return width;
+    }
+
+    public void setWidth(Integer width) {
+        this.width = width;
+    }
+
+    public Integer getHeight() {
+        return height;
+    }
+
+    public void setHeight(Integer height) {
+        this.height = height;
+    }
+
+    public Integer getVideoBitrate() {
+        return videoBitrate;
+    }
+
+    public void setVideoBitrate(Integer videoBitrate) {
+        this.videoBitrate = videoBitrate;
+    }
+
+    public String getAudioCodec() {
+        return audioCodec;
+    }
+
+    public void setAudioCodec(String audioCodec) {
+        this.audioCodec = audioCodec;
+    }
+
+    public Integer getAudioChannels() {
+        return audioChannels;
+    }
+
+    public void setAudioChannels(Integer audioChannels) {
+        this.audioChannels = audioChannels;
+    }
+
+    public Integer getAudioSampleRate() {
+        return audioSampleRate;
+    }
+
+    public void setAudioSampleRate(Integer audioSampleRate) {
+        this.audioSampleRate = audioSampleRate;
+    }
+
+    public Integer getAudioBitrate() {
+        return audioBitrate;
+    }
+
+    public void setAudioBitrate(Integer audioBitrate) {
+        this.audioBitrate = audioBitrate;
+    }
+
+    public AblUrls getUrl() {
+        return url;
+    }
+
+    public void setUrl(AblUrls url) {
+        this.url = url;
+    }
+}

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/abl/event/HookAblServerKeepaliveEvent.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.media.abl.event;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.springframework.context.ApplicationEvent;
 
 /**

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/abl/event/HookAblServerStartEvent.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.media.abl.event;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.springframework.context.ApplicationEvent;
 
 /**

+ 19 - 1
src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java

@@ -2,7 +2,7 @@ package com.genersoft.iot.vmp.media.bean;
 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.abl.bean.hook.OnStreamArriveABLHookParam;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 import io.swagger.v3.oas.annotations.media.Schema;
 
@@ -177,6 +177,24 @@ public class MediaInfo {
         return mediaInfo;
     }
 
+    public static MediaInfo getInstance(OnStreamArriveABLHookParam param, MediaServer mediaServer) {
+
+        MediaInfo mediaInfo = new MediaInfo();
+        mediaInfo.setApp(param.getApp());
+        mediaInfo.setStream(param.getStream());
+        mediaInfo.setMediaServer(mediaServer);
+        mediaInfo.setReaderCount(param.getReaderCount());
+        mediaInfo.setOnline(true);
+        mediaInfo.setVideoCodec(param.getVideoCodec());
+        mediaInfo.setWidth(param.getWidth());
+        mediaInfo.setHeight(param.getHeight());
+        mediaInfo.setAudioCodec(param.getAudioCodec());
+        mediaInfo.setAudioChannels(param.getAudioChannels());
+        mediaInfo.setAudioSampleRate(param.getAudioSampleRate());
+
+        return mediaInfo;
+    }
+
     public Integer getReaderCount() {
         return readerCount;
     }

+ 2 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServer.java

@@ -1,6 +1,7 @@
-package com.genersoft.iot.vmp.media.zlm.dto;
+package com.genersoft.iot.vmp.media.bean;
 
 
+import com.genersoft.iot.vmp.media.zlm.dto.ZLMServerConfig;
 import io.swagger.v3.oas.annotations.media.Schema;
 import org.springframework.util.ObjectUtils;
 

+ 7 - 0
src/main/java/com/genersoft/iot/vmp/media/bean/RecordInfo.java

@@ -1,5 +1,6 @@
 package com.genersoft.iot.vmp.media.bean;
 
+import com.genersoft.iot.vmp.media.abl.bean.hook.OnRecordMp4ABLHookParam;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRecordMp4HookParam;
 
 public class RecordInfo {
@@ -23,6 +24,12 @@ public class RecordInfo {
         return recordInfo;
     }
 
+    public static RecordInfo getInstance(OnRecordMp4ABLHookParam hookParam) {
+        RecordInfo recordInfo = new RecordInfo();
+        recordInfo.setFileName(hookParam.getFileName());
+        return recordInfo;
+    }
+
     public String getFileName() {
         return fileName;
     }

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/event/hook/HookData.java

@@ -6,7 +6,7 @@ import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
 import com.genersoft.iot.vmp.media.event.media.MediaEvent;
 import com.genersoft.iot.vmp.media.event.media.MediaPublishEvent;
 import com.genersoft.iot.vmp.media.event.media.MediaRecordMp4Event;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import io.swagger.v3.oas.annotations.media.Schema;
 
 /**

+ 11 - 1
src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java

@@ -1,7 +1,8 @@
 package com.genersoft.iot.vmp.media.event.media;
 
+import com.genersoft.iot.vmp.media.abl.bean.hook.OnStreamArriveABLHookParam;
 import com.genersoft.iot.vmp.media.bean.MediaInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 
 /**
@@ -22,6 +23,15 @@ public class MediaArrivalEvent extends MediaEvent {
         mediaArrivalEvent.setCallId(hookParam.getCallId());
         return mediaArrivalEvent;
     }
+    public static MediaArrivalEvent getInstance(Object source, OnStreamArriveABLHookParam hookParam, MediaServer mediaServer){
+        MediaArrivalEvent mediaArrivalEvent = new MediaArrivalEvent(source);
+        mediaArrivalEvent.setMediaInfo(MediaInfo.getInstance(hookParam, mediaServer));
+        mediaArrivalEvent.setApp(hookParam.getApp());
+        mediaArrivalEvent.setStream(hookParam.getStream());
+        mediaArrivalEvent.setMediaServer(mediaServer);
+        mediaArrivalEvent.setCallId(hookParam.getCallId());
+        return mediaArrivalEvent;
+    }
 
     private MediaInfo mediaInfo;
 

+ 10 - 1
src/main/java/com/genersoft/iot/vmp/media/event/media/MediaDepartureEvent.java

@@ -1,6 +1,7 @@
 package com.genersoft.iot.vmp.media.event.media;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.abl.bean.hook.ABLHookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 
 /**
@@ -19,4 +20,12 @@ public class MediaDepartureEvent extends MediaEvent {
         mediaDepartureEven.setMediaServer(mediaServer);
         return mediaDepartureEven;
     }
+
+    public static MediaDepartureEvent getInstance(Object source, ABLHookParam hookParam, MediaServer mediaServer){
+        MediaDepartureEvent mediaDepartureEven = new MediaDepartureEvent(source);
+        mediaDepartureEven.setApp(hookParam.getApp());
+        mediaDepartureEven.setStream(hookParam.getStream());
+        mediaDepartureEven.setMediaServer(mediaServer);
+        return mediaDepartureEven;
+    }
 }

+ 1 - 3
src/main/java/com/genersoft/iot/vmp/media/event/media/MediaEvent.java

@@ -1,8 +1,6 @@
 package com.genersoft.iot.vmp.media.event.media;
 
-import com.genersoft.iot.vmp.media.bean.MediaInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.springframework.context.ApplicationEvent;
 
 /**

+ 10 - 1
src/main/java/com/genersoft/iot/vmp/media/event/media/MediaNotFoundEvent.java

@@ -1,6 +1,7 @@
 package com.genersoft.iot.vmp.media.event.media;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.abl.bean.hook.ABLHookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamNotFoundHookParam;
 
 /**
@@ -19,4 +20,12 @@ public class MediaNotFoundEvent extends MediaEvent {
         mediaDepartureEven.setMediaServer(mediaServer);
         return mediaDepartureEven;
     }
+
+    public static MediaNotFoundEvent getInstance(Object source, ABLHookParam hookParam, MediaServer mediaServer){
+        MediaNotFoundEvent mediaDepartureEven = new MediaNotFoundEvent(source);
+        mediaDepartureEven.setApp(hookParam.getApp());
+        mediaDepartureEven.setStream(hookParam.getStream());
+        mediaDepartureEven.setMediaServer(mediaServer);
+        return mediaDepartureEven;
+    }
 }

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/event/media/MediaPublishEvent.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.media.event.media;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnPublishHookParam;
 
 /**

+ 13 - 2
src/main/java/com/genersoft/iot/vmp/media/event/media/MediaRecordMp4Event.java

@@ -1,9 +1,10 @@
 package com.genersoft.iot.vmp.media.event.media;
 
+import com.genersoft.iot.vmp.media.abl.ABLHttpHookListener;
+import com.genersoft.iot.vmp.media.abl.bean.hook.OnRecordMp4ABLHookParam;
 import com.genersoft.iot.vmp.media.bean.RecordInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRecordMp4HookParam;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 
 /**
  * 录像文件生成事件
@@ -25,6 +26,16 @@ public class MediaRecordMp4Event extends MediaEvent {
         return mediaRecordMp4Event;
     }
 
+    public static MediaRecordMp4Event getInstance(ABLHttpHookListener source, OnRecordMp4ABLHookParam hookParam, MediaServer mediaServer) {
+        MediaRecordMp4Event mediaRecordMp4Event = new MediaRecordMp4Event(source);
+        mediaRecordMp4Event.setApp(hookParam.getApp());
+        mediaRecordMp4Event.setStream(hookParam.getStream());
+        RecordInfo recordInfo = RecordInfo.getInstance(hookParam);
+        mediaRecordMp4Event.setRecordInfo(recordInfo);
+        mediaRecordMp4Event.setMediaServer(mediaServer);
+        return mediaRecordMp4Event;
+    }
+
     public RecordInfo getRecordInfo() {
         return recordInfo;
     }

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/event/media/MediaRtpServerTimeoutEvent.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.media.event.media;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 
 /**

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/event/mediaServer/MediaSendRtpStoppedEvent.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.media.event.mediaServer;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamNotFoundHookParam;
 import org.springframework.context.ApplicationEvent;
 

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/event/mediaServer/MediaServerChangeEvent.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.media.event.mediaServer;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.springframework.context.ApplicationEvent;
 
 import java.util.ArrayList;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/service/IMediaNodeServerService.java

@@ -3,7 +3,7 @@ package com.genersoft.iot.vmp.media.service;
 import com.genersoft.iot.vmp.common.CommonCallback;
 import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.media.bean.MediaInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
 
 import java.util.List;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java

@@ -3,7 +3,7 @@ package com.genersoft.iot.vmp.media.service;
 import com.genersoft.iot.vmp.common.CommonCallback;
 import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.media.bean.MediaInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.MediaServerLoad;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 import com.genersoft.iot.vmp.vmanager.bean.WVPResult;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java

@@ -15,7 +15,7 @@ import com.genersoft.iot.vmp.media.event.mediaServer.MediaServerChangeEvent;
 import com.genersoft.iot.vmp.media.event.mediaServer.MediaServerDeleteEvent;
 import com.genersoft.iot.vmp.media.service.IMediaNodeServerService;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
 import com.genersoft.iot.vmp.service.IInviteStreamService;
 import com.genersoft.iot.vmp.service.bean.MediaServerLoad;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java

@@ -2,7 +2,7 @@ package com.genersoft.iot.vmp.media.zlm;
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.utils.SSLSocketClientUtil;
 import okhttp3.*;
 import okhttp3.logging.HttpLoggingInterceptor;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/SendRtpPortManager.java

@@ -3,7 +3,7 @@ package com.genersoft.iot.vmp.media.zlm;
 import com.genersoft.iot.vmp.common.VideoManagerConstants;
 import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.utils.redis.RedisUtil;
 import org.apache.commons.lang3.math.NumberUtils;
 import org.slf4j.Logger;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java

@@ -15,7 +15,7 @@ import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
 import com.genersoft.iot.vmp.media.event.media.*;
 import com.genersoft.iot.vmp.media.event.mediaServer.MediaSendRtpStoppedEvent;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.ZLMServerConfig;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.*;
 import com.genersoft.iot.vmp.media.zlm.event.HookZlmServerKeepaliveEvent;

+ 1 - 0
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java

@@ -2,6 +2,7 @@ package com.genersoft.iot.vmp.media.zlm;
 
 import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.gb28181.bean.GbStream;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.dto.*;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java

@@ -8,7 +8,7 @@ import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.conf.exception.ControllerException;
 import com.genersoft.iot.vmp.media.bean.MediaInfo;
 import com.genersoft.iot.vmp.media.service.IMediaNodeServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.ZLMServerConfig;
 import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
 import com.genersoft.iot.vmp.vmanager.bean.WVPResult;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManger.java

@@ -8,7 +8,7 @@ import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.media.event.mediaServer.MediaServerChangeEvent;
 import com.genersoft.iot.vmp.media.event.mediaServer.MediaServerDeleteEvent;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.ZLMServerConfig;
 import com.genersoft.iot.vmp.media.zlm.event.HookZlmServerKeepaliveEvent;
 import com.genersoft.iot.vmp.media.zlm.event.HookZlmServerStartEvent;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java

@@ -2,7 +2,7 @@ package com.genersoft.iot.vmp.media.zlm;
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import okhttp3.*;
 import okhttp3.logging.HttpLoggingInterceptor;
 import org.jetbrains.annotations.NotNull;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java

@@ -6,7 +6,7 @@ import com.genersoft.iot.vmp.common.CommonCallback;
 import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;

+ 0 - 168
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItemLite.java

@@ -1,168 +0,0 @@
-package com.genersoft.iot.vmp.media.zlm.dto;
-
-
-/**
- * 精简的MediaServerItem信息,方便给前端返回数据
- */
-public class MediaServerItemLite {
-
-    private String id;
-
-    private String ip;
-
-    private String hookIp;
-
-    private String sdpIp;
-
-    private String streamIp;
-
-    private int httpPort;
-
-    private int httpSSlPort;
-
-    private int rtmpPort;
-
-    private int rtmpSSlPort;
-
-    private int rtpProxyPort;
-
-    private int rtspPort;
-
-    private int rtspSSLPort;
-
-    private String secret;
-
-    private int recordAssistPort;
-
-
-
-    public MediaServerItemLite(MediaServer mediaServerItem) {
-        this.id = mediaServerItem.getId();
-        this.ip = mediaServerItem.getIp();
-        this.hookIp = mediaServerItem.getHookIp();
-        this.sdpIp = mediaServerItem.getSdpIp();
-        this.streamIp = mediaServerItem.getStreamIp();
-        this.httpPort = mediaServerItem.getHttpPort();
-        this.httpSSlPort = mediaServerItem.getHttpSSlPort();
-        this.rtmpPort = mediaServerItem.getRtmpPort();
-        this.rtmpSSlPort = mediaServerItem.getRtmpSSlPort();
-        this.rtpProxyPort = mediaServerItem.getRtpProxyPort();
-        this.rtspPort = mediaServerItem.getRtspPort();
-        this.rtspSSLPort = mediaServerItem.getRtspSSLPort();
-        this.secret = mediaServerItem.getSecret();
-        this.recordAssistPort = mediaServerItem.getRecordAssistPort();
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public String getHookIp() {
-        return hookIp;
-    }
-
-    public void setHookIp(String hookIp) {
-        this.hookIp = hookIp;
-    }
-
-    public String getSdpIp() {
-        return sdpIp;
-    }
-
-    public void setSdpIp(String sdpIp) {
-        this.sdpIp = sdpIp;
-    }
-
-    public String getStreamIp() {
-        return streamIp;
-    }
-
-    public void setStreamIp(String streamIp) {
-        this.streamIp = streamIp;
-    }
-
-    public int getHttpPort() {
-        return httpPort;
-    }
-
-    public void setHttpPort(int httpPort) {
-        this.httpPort = httpPort;
-    }
-
-    public int getHttpSSlPort() {
-        return httpSSlPort;
-    }
-
-    public void setHttpSSlPort(int httpSSlPort) {
-        this.httpSSlPort = httpSSlPort;
-    }
-
-    public int getRtmpPort() {
-        return rtmpPort;
-    }
-
-    public void setRtmpPort(int rtmpPort) {
-        this.rtmpPort = rtmpPort;
-    }
-
-    public int getRtmpSSlPort() {
-        return rtmpSSlPort;
-    }
-
-    public void setRtmpSSlPort(int rtmpSSlPort) {
-        this.rtmpSSlPort = rtmpSSlPort;
-    }
-
-    public int getRtpProxyPort() {
-        return rtpProxyPort;
-    }
-
-    public void setRtpProxyPort(int rtpProxyPort) {
-        this.rtpProxyPort = rtpProxyPort;
-    }
-
-    public int getRtspPort() {
-        return rtspPort;
-    }
-
-    public void setRtspPort(int rtspPort) {
-        this.rtspPort = rtspPort;
-    }
-
-    public int getRtspSSLPort() {
-        return rtspSSLPort;
-    }
-
-    public void setRtspSSLPort(int rtspSSLPort) {
-        this.rtspSSLPort = rtspSSLPort;
-    }
-
-
-    public String getSecret() {
-        return secret;
-    }
-
-    public void setSecret(String secret) {
-        this.secret = secret;
-    }
-
-    public int getRecordAssistPort() {
-        return recordAssistPort;
-    }
-
-    public void setRecordAssistPort(int recordAssistPort) {
-        this.recordAssistPort = recordAssistPort;
-    }
-}

+ 2 - 0
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/HookParam.java

@@ -7,6 +7,8 @@ package com.genersoft.iot.vmp.media.zlm.dto.hook;
 public class HookParam {
     private String mediaServerId;
 
+
+
     public String getMediaServerId() {
         return mediaServerId;
     }

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/event/HookZlmServerKeepaliveEvent.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.media.zlm.event;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.springframework.context.ApplicationEvent;
 
 /**

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/event/HookZlmServerStartEvent.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.media.zlm.event;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.springframework.context.ApplicationEvent;
 
 /**

+ 1 - 2
src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java

@@ -1,8 +1,7 @@
 package com.genersoft.iot.vmp.service;
 
 import com.alibaba.fastjson2.JSONArray;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRecordMp4HookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.CloudRecordItem;
 import com.genersoft.iot.vmp.service.bean.DownloadFileInfo;
 import com.github.pagehelper.PageInfo;

+ 1 - 3
src/main/java/com/genersoft/iot/vmp/service/IMediaService.java

@@ -1,9 +1,7 @@
 package com.genersoft.iot.vmp.service;
 
-import com.genersoft.iot.vmp.common.StreamInfo;
-import com.genersoft.iot.vmp.media.bean.MediaInfo;
 import com.genersoft.iot.vmp.media.bean.ResultForOnPublish;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 
 /**
  * 媒体信息业务

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/IPlatformService.java

@@ -4,7 +4,7 @@ import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
 import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
 import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.InviteTimeOutCallback;
 import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
 import com.github.pagehelper.PageInfo;

+ 1 - 2
src/main/java/com/genersoft/iot/vmp/service/IPlayService.java

@@ -8,8 +8,7 @@ import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
 import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
 import com.genersoft.iot.vmp.media.bean.MediaInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.HookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.ErrorCallback;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 import com.genersoft.iot.vmp.vmanager.bean.AudioBroadcastResult;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java

@@ -2,7 +2,7 @@ package com.genersoft.iot.vmp.service;
 
 import com.genersoft.iot.vmp.common.GeneralCallback;
 import com.genersoft.iot.vmp.common.StreamInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
 import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
 import com.genersoft.iot.vmp.vmanager.bean.WVPResult;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/bean/PlayBackResult.java

@@ -2,7 +2,7 @@ package com.genersoft.iot.vmp.service.bean;
 
 import com.alibaba.fastjson2.JSONObject;
 import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 
 import java.util.EventObject;
 

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/bean/ResponseSendItemMsg.java

@@ -1,7 +1,7 @@
 package com.genersoft.iot.vmp.service.bean;
 
 import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 
 /**
  * redis消息:下级回复推送信息

+ 1 - 3
src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java

@@ -5,12 +5,10 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.genersoft.iot.vmp.conf.exception.ControllerException;
 import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
-import com.genersoft.iot.vmp.media.event.media.MediaDepartureEvent;
 import com.genersoft.iot.vmp.media.event.media.MediaRecordMp4Event;
 import com.genersoft.iot.vmp.media.zlm.AssistRESTfulUtils;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRecordMp4HookParam;
 import com.genersoft.iot.vmp.service.ICloudRecordService;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.bean.CloudRecordItem;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java

@@ -14,7 +14,7 @@ import com.genersoft.iot.vmp.gb28181.task.impl.MobilePositionSubscribeTask;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.cmd.CatalogResponseMessageHandler;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.IDeviceChannelService;
 import com.genersoft.iot.vmp.service.IDeviceService;
 import com.genersoft.iot.vmp.service.IInviteStreamService;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java

@@ -12,7 +12,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.media.bean.ResultForOnPublish;
 import com.genersoft.iot.vmp.media.zlm.ZLMMediaListManager;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
 import com.genersoft.iot.vmp.service.*;

+ 1 - 3
src/main/java/com/genersoft/iot/vmp/service/impl/PlatformServiceImpl.java

@@ -11,15 +11,13 @@ import com.genersoft.iot.vmp.gb28181.session.SSRCFactory;
 import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
-import com.genersoft.iot.vmp.media.event.hook.Hook;
 import com.genersoft.iot.vmp.media.event.hook.HookData;
 import com.genersoft.iot.vmp.media.event.media.MediaDepartureEvent;
 import com.genersoft.iot.vmp.media.event.mediaServer.MediaSendRtpStoppedEvent;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.IInviteStreamService;
 import com.genersoft.iot.vmp.service.IPlatformService;
 import com.genersoft.iot.vmp.service.IPlayService;

+ 1 - 5
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java

@@ -19,7 +19,6 @@ import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
 import com.genersoft.iot.vmp.media.bean.MediaInfo;
 import com.genersoft.iot.vmp.media.bean.RecordInfo;
 import com.genersoft.iot.vmp.media.event.hook.Hook;
-import com.genersoft.iot.vmp.media.event.hook.HookData;
 import com.genersoft.iot.vmp.media.event.hook.HookType;
 import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
 import com.genersoft.iot.vmp.media.event.media.MediaDepartureEvent;
@@ -28,10 +27,7 @@ import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.media.zlm.SendRtpPortManager;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.HookParam;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRecordMp4HookParam;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.*;
 import com.genersoft.iot.vmp.service.bean.*;
 import com.genersoft.iot.vmp.service.redisMsg.RedisGbPlayMsgListener;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java

@@ -17,7 +17,7 @@ import com.genersoft.iot.vmp.media.event.media.MediaNotFoundEvent;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 import com.genersoft.iot.vmp.service.IGbStreamService;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java

@@ -14,7 +14,7 @@ import com.genersoft.iot.vmp.media.bean.MediaInfo;
 import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
 import com.genersoft.iot.vmp.media.event.media.MediaDepartureEvent;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGbPlayMsgListener.java

@@ -10,7 +10,7 @@ import com.genersoft.iot.vmp.media.event.hook.Hook;
 import com.genersoft.iot.vmp.media.event.hook.HookType;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.bean.*;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamCloseResponseListener.java

@@ -7,7 +7,7 @@ import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
 import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IStreamPushService;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java

@@ -7,7 +7,7 @@ import com.genersoft.iot.vmp.gb28181.bean.Device;
 import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
 import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
 import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.storager.dao;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.CloudRecordItem;
 import org.apache.ibatis.annotations.*;
 

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.storager.dao;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java

@@ -10,7 +10,7 @@ import com.genersoft.iot.vmp.gb28181.bean.Device;
 import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
 import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
 import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/utils/CloudRecordUtils.java

@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.utils;
 
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.DownloadFileInfo;
 
 public class CloudRecordUtils {

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java

@@ -3,7 +3,7 @@ package com.genersoft.iot.vmp.vmanager.cloudRecord;
 import com.alibaba.fastjson2.JSONArray;
 import com.genersoft.iot.vmp.conf.exception.ControllerException;
 import com.genersoft.iot.vmp.conf.security.JwtUtils;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.ICloudRecordService;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.bean.CloudRecordItem;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java

@@ -17,7 +17,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
 import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.IInviteStreamService;
 import com.genersoft.iot.vmp.service.IPlayService;
 import com.genersoft.iot.vmp.service.bean.InviteErrorCode;

+ 1 - 2
src/main/java/com/genersoft/iot/vmp/vmanager/ps/PsController.java

@@ -11,8 +11,7 @@ import com.genersoft.iot.vmp.media.event.hook.HookType;
 import com.genersoft.iot.vmp.media.zlm.SendRtpPortManager;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRtpServerTimeoutHookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.utils.redis.RedisUtil;
 import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;

+ 1 - 2
src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java

@@ -11,8 +11,7 @@ import com.genersoft.iot.vmp.media.event.hook.HookType;
 import com.genersoft.iot.vmp.media.zlm.SendRtpPortManager;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRtpServerTimeoutHookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.utils.redis.RedisUtil;
 import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;

+ 1 - 3
src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java

@@ -9,10 +9,8 @@ import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.conf.VersionInfo;
 import com.genersoft.iot.vmp.conf.exception.ControllerException;
 import com.genersoft.iot.vmp.conf.security.JwtUtils;
-import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.SendRtpPortManager;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.*;
 import com.genersoft.iot.vmp.service.bean.MediaServerLoad;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java

@@ -7,7 +7,7 @@ import com.genersoft.iot.vmp.conf.exception.ControllerException;
 import com.genersoft.iot.vmp.conf.security.JwtUtils;
 import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
 import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IStreamProxyService;

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java

@@ -9,7 +9,7 @@ import com.genersoft.iot.vmp.conf.exception.SsrcTransactionNotFoundException;
 import com.genersoft.iot.vmp.gb28181.bean.Device;
 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.IDeviceService;
 import com.genersoft.iot.vmp.service.IInviteStreamService;
 import com.genersoft.iot.vmp.service.IPlayService;