From 63a35ffaaf248f1c6eb7d660e9d3dba5d664eed7 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 22 三月 2024 17:44:42 +0800
Subject: [PATCH] 调整节点管理代码结构

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java |   66 ++++++--------------------------
 1 files changed, 13 insertions(+), 53 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 ac68bfe..01fc635 100755
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -18,7 +18,7 @@
 import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
-import com.genersoft.iot.vmp.media.bean.Track;
+import com.genersoft.iot.vmp.media.bean.MediaInfo;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.media.zlm.dto.*;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.*;
@@ -34,7 +34,6 @@
 import com.genersoft.iot.vmp.vmanager.bean.OtherPsSendInfo;
 import com.genersoft.iot.vmp.vmanager.bean.OtherRtpSendInfo;
 import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
-import org.apache.poi.ss.formula.functions.T;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -145,7 +144,7 @@
     public HookResult onServerKeepalive(@RequestBody OnServerKeepaliveHookParam param) {
         taskExecutor.execute(() -> {
             List<ZlmHttpHookSubscribe.Event> subscribes = this.subscribe.getSubscribes(HookType.on_server_keepalive);
-            if (subscribes != null && subscribes.size() > 0) {
+            if (subscribes != null && !subscribes.isEmpty()) {
                 for (ZlmHttpHookSubscribe.Event subscribe : subscribes) {
                     subscribe.response(null, param);
                 }
@@ -153,7 +152,7 @@
         });
         try {
             HookZlmServerKeepaliveEvent event = new HookZlmServerKeepaliveEvent(this);
-            MediaServerItem mediaServerItem = mediaServerService.getOne(param.getMediaServerId());
+            MediaServer mediaServerItem = mediaServerService.getOne(param.getMediaServerId());
             if (mediaServerItem != null) {
                 event.setMediaServerItem(mediaServerItem);
                 applicationEventPublisher.publishEvent(event);
@@ -171,7 +170,7 @@
     @PostMapping(value = "/on_play", produces = "application/json;charset=UTF-8")
     public HookResult onPlay(@RequestBody OnPlayHookParam param) {
         if (logger.isDebugEnabled()) {
-            logger.debug("[ZLM HOOK] 鎾斁閴存潈锛歿}->{}" + param.getMediaServerId(), param);
+            logger.debug("[ZLM HOOK] 鎾斁閴存潈锛歿}->{}", param.getMediaServerId(), param);
         }
         String mediaServerId = param.getMediaServerId();
 
@@ -179,7 +178,7 @@
             JSONObject json = (JSONObject) JSON.toJSON(param);
             ZlmHttpHookSubscribe.Event subscribe = this.subscribe.sendNotify(HookType.on_play, json);
             if (subscribe != null) {
-                MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
+                MediaServer mediaInfo = mediaServerService.getOne(mediaServerId);
                 if (mediaInfo != null) {
                     subscribe.response(mediaInfo, param);
                 }
@@ -209,7 +208,7 @@
         // TODO 鍔犲揩澶勭悊閫熷害
 
         String mediaServerId = json.getString("mediaServerId");
-        MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
+        MediaServer mediaInfo = mediaServerService.getOne(mediaServerId);
         if (mediaInfo == null) {
             return new HookResultForOnPublish(200, "success");
         }
@@ -258,11 +257,7 @@
         taskExecutor.execute(() -> {
             ZlmHttpHookSubscribe.Event subscribe = this.subscribe.sendNotify(HookType.on_publish, json);
             if (subscribe != null) {
-                if (mediaInfo != null) {
-                    subscribe.response(mediaInfo, param);
-                } else {
-                    new HookResultForOnPublish(1, "zlm not register");
-                }
+                subscribe.response(mediaInfo, param);
             }
         });
 
@@ -360,7 +355,7 @@
         JSONObject json = (JSONObject) JSON.toJSON(param);
         taskExecutor.execute(() -> {
             ZlmHttpHookSubscribe.Event subscribe = this.subscribe.sendNotify(HookType.on_stream_changed, json);
-            MediaServerItem mediaInfo = mediaServerService.getOne(param.getMediaServerId());
+            MediaServer mediaInfo = mediaServerService.getOne(param.getMediaServerId());
             if (mediaInfo == null) {
                 logger.info("[ZLM HOOK] 娴佸彉鍖栨湭鎵惧埌ZLM, {}", param.getMediaServerId());
                 return;
@@ -369,40 +364,6 @@
                 subscribe.response(mediaInfo, param);
             }
 
-            List<OnStreamChangedHookParam.MediaTrack> tracks = param.getTracks();
-            Track track = new Track();
-            track.setReaderCount(param.getTotalReaderCount());
-            for (OnStreamChangedHookParam.MediaTrack mediaTrack : tracks) {
-                switch (mediaTrack.getCodec_id()) {
-                    case 0:
-                        track.setVideoCodec("H264");
-                        break;
-                    case 1:
-                        track.setVideoCodec("H265");
-                        break;
-                    case 2:
-                        track.setAudioCodec("AAC");
-                        break;
-                    case 3:
-                        track.setAudioCodec("G711A");
-                        break;
-                    case 4:
-                        track.setAudioCodec("G711U");
-                        break;
-                }
-                if (mediaTrack.getSample_rate() > 0) {
-                    track.setAudioSampleRate(mediaTrack.getSample_rate());
-                }
-                if (mediaTrack.getChannels() > 0) {
-                    track.setAudioChannels(mediaTrack.getChannels());
-                }
-                if (mediaTrack.getHeight() > 0) {
-                    track.setHeight(mediaTrack.getHeight());
-                }
-                if (mediaTrack.getWidth() > 0) {
-                    track.setWidth(mediaTrack.getWidth());
-                }
-            }
             // TODO 閲嶆瀯姝ゅ閫昏緫
             if (param.isRegist()) {
                 // 澶勭悊娴佹敞鍐岀殑閴存潈淇℃伅锛� 娴佹敞閿�杩欓噷涓嶅啀鍒犻櫎閴存潈淇℃伅锛屼笅娆℃潵浜嗘柊鐨勯壌鏉冧俊鎭細瀵瑰氨鐨勮繘琛岃鐩�
@@ -506,7 +467,7 @@
                                 callId = streamAuthorityInfo.getCallId();
                             }
                             StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaInfo,
-                                    param.getApp(), param.getStream(), track, callId);
+                                    param.getApp(), param.getStream(), MediaInfo.getInstance(param), callId);
                             param.setStreamInfo(new StreamContent(streamInfoByAppAndStream));
                             redisCatchStorage.addStream(mediaInfo, type, param.getApp(), param.getStream(), param);
                             if (param.getOriginType() == OriginType.RTSP_PUSH.ordinal()
@@ -714,7 +675,7 @@
 
         DeferredResult<HookResult> defaultResult = new DeferredResult<>();
 
-        MediaServerItem mediaInfo = mediaServerService.getOne(param.getMediaServerId());
+        MediaServer mediaInfo = mediaServerService.getOne(param.getMediaServerId());
         if (!userSetting.isAutoApplyPlay() || mediaInfo == null) {
             defaultResult.setResult(new HookResult(ErrorCode.ERROR404.getCode(), ErrorCode.ERROR404.getMsg()));
             return defaultResult;
@@ -837,7 +798,7 @@
         logger.info("[ZLM HOOK] zlm 鍚姩 " + zlmServerConfig.getGeneralMediaServerId());
         taskExecutor.execute(() -> {
             List<ZlmHttpHookSubscribe.Event> subscribes = this.subscribe.getSubscribes(HookType.on_server_started);
-            if (subscribes != null && subscribes.size() > 0) {
+            if (subscribes != null && !subscribes.isEmpty()) {
                 for (ZlmHttpHookSubscribe.Event subscribe : subscribes) {
                     subscribe.response(null, zlmServerConfig);
                 }
@@ -845,7 +806,7 @@
         });
         try {
             HookZlmServerStartEvent event = new HookZlmServerStartEvent(this);
-            MediaServerItem mediaServerItem = mediaServerService.getOne(zlmServerConfig.getMediaServerId());
+            MediaServer mediaServerItem = mediaServerService.getOne(zlmServerConfig.getMediaServerId());
             if (mediaServerItem != null) {
                 event.setMediaServerItem(mediaServerItem);
                 applicationEventPublisher.publishEvent(event);
@@ -895,12 +856,11 @@
      */
     @ResponseBody
     @PostMapping(value = "/on_rtp_server_timeout", produces = "application/json;charset=UTF-8")
-    public HookResult onRtpServerTimeout(HttpServletRequest request, @RequestBody OnRtpServerTimeoutHookParam
+    public HookResult onRtpServerTimeout(@RequestBody OnRtpServerTimeoutHookParam
             param) {
         logger.info("[ZLM HOOK] rtpServer鏀舵祦瓒呮椂锛歿}->{}({})", param.getMediaServerId(), param.getStream_id(), param.getSsrc());
 
         taskExecutor.execute(() -> {
-            JSONObject json = (JSONObject) JSON.toJSON(param);
             List<ZlmHttpHookSubscribe.Event> subscribes = this.subscribe.getSubscribes(HookType.on_rtp_server_timeout);
             if (subscribes != null && !subscribes.isEmpty()) {
                 for (ZlmHttpHookSubscribe.Event subscribe : subscribes) {

--
Gitblit v1.8.0