From 1e0b73b9392592aa36e66cf63c359ab6331f8448 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 19 三月 2024 17:52:11 +0800 Subject: [PATCH] 调整节点管理代码结构 --- src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java | 65 +++++++++++++++++++++++++++++++- 1 files changed, 63 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java index 4b9013c..650016f 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java @@ -1,9 +1,70 @@ package com.genersoft.iot.vmp.media.zlm; -import com.genersoft.iot.vmp.media.IMediaNodeServerService; -import org.springframework.stereotype.Component; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.genersoft.iot.vmp.common.CommonCallback; +import com.genersoft.iot.vmp.media.service.IMediaNodeServerService; +import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service("zlm") public class ZLMMediaNodeServerService implements IMediaNodeServerService { + + @Autowired + private ZLMRESTfulUtils zlmresTfulUtils; + + @Autowired + private ZLMServerFactory zlmServerFactory; + + @Override + public int createRTPServer(MediaServerItem mediaServerItem, String streamId, long ssrc, Integer port, Boolean onlyAuto, Boolean reUsePort, Integer tcpMode) { + return zlmServerFactory.createRTPServer(mediaServerItem, streamId, ssrc, port, onlyAuto, reUsePort, tcpMode);; + } + + @Override + public void closeRtpServer(MediaServerItem mediaServerItem, String streamId) { + zlmresTfulUtils.closeStreams(mediaServerItem, "rtp", streamId); + } + + @Override + public void closeRtpServer(MediaServerItem mediaServerItem, String streamId, CommonCallback<Boolean> callback) { + zlmServerFactory.closeRtpServer(mediaServerItem, streamId, callback); + } + + @Override + public void closeStreams(MediaServerItem mediaServerItem, String app, String stream) { + zlmresTfulUtils.closeStreams(mediaServerItem, app, stream); + } + + @Override + public Boolean updateRtpServerSSRC(MediaServerItem mediaServerItem, String streamId, String ssrc) { + return zlmServerFactory.updateRtpServerSSRC(mediaServerItem, streamId, ssrc); + } + + @Override + public boolean checkNodeId(MediaServerItem mediaServerItem) { + if (mediaServerItem == null) { + return false; + } + JSONObject responseJSON = zlmresTfulUtils.getMediaServerConfig(mediaServerItem); + if (responseJSON != null) { + JSONArray data = responseJSON.getJSONArray("data"); + if (data != null && !data.isEmpty()) { + ZLMServerConfig zlmServerConfig= JSON.parseObject(JSON.toJSONString(data.get(0)), ZLMServerConfig.class); + return zlmServerConfig.getGeneralMediaServerId().equals(mediaServerItem.getId()); + }else { + return false; + } + + }else { + return false; + } + } + + @Override + public void online(MediaServerItem mediaServerItem) { + + } } -- Gitblit v1.8.0