From b90dc789b429c31674c26bb3ff309b987afaa77a Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 21 三月 2024 23:39:32 +0800 Subject: [PATCH] 优化媒体节点服务的代码结构 --- src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java | 55 ++++++++++--------------------------------------------- 1 files changed, 10 insertions(+), 45 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 3ecfc6c..336c56f 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; @@ -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); @@ -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"); } @@ -360,7 +359,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 +368,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 +471,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() @@ -618,9 +583,9 @@ } // 鏀跺埌鏃犱汉瑙傜湅璇存槑娴佷篃娌℃湁鍦ㄥ線涓婄骇鎺ㄩ�� if (redisCatchStorage.isChannelSendingRTP(inviteInfo.getChannelId())) { - List<SendRtpItem> sendRtpItems = redisCatchStorage.querySendRTPServerByChnnelId( + List<SendRtpItem> sendRtpItems = redisCatchStorage.querySendRTPServerByChannelId( inviteInfo.getChannelId()); - if (sendRtpItems.size() > 0) { + if (!sendRtpItems.isEmpty()) { for (SendRtpItem sendRtpItem : sendRtpItems) { ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(sendRtpItem.getPlatformId()); try { @@ -714,7 +679,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; @@ -845,7 +810,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); -- Gitblit v1.8.0