From 89a9ab4534f10a224f70e546db838423e84a1965 Mon Sep 17 00:00:00 2001 From: 64850858 <648540858@qq.com> Date: 星期五, 16 七月 2021 16:34:51 +0800 Subject: [PATCH] 添加zlm集群支持 --- src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java index 8626205..f00e2ab 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java @@ -2,6 +2,9 @@ import com.genersoft.iot.vmp.conf.MediaConfig; import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig; +import com.genersoft.iot.vmp.media.zlm.dto.IMediaServerItem; +import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; +import com.genersoft.iot.vmp.service.IMediaServerService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -14,6 +17,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import java.io.UnsupportedEncodingException; import java.net.URLDecoder; @RestController @@ -25,13 +30,15 @@ @Autowired private IRedisCatchStorage redisCatchStorage; + @Autowired + private IMediaServerService mediaServerService; @Autowired private MediaConfig mediaConfig; @ResponseBody @RequestMapping(value = "/**/**/**", produces = "application/json;charset=UTF-8") - public Object proxy(HttpServletRequest request, HttpServletResponse response){ + public Object proxy(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException{ String baseRequestURI = request.getRequestURI(); @@ -46,12 +53,16 @@ return null; } // 鍚庣画鏀逛负鏍规嵁Id鑾峰彇瀵瑰簲鐨刏LM - ZLMServerConfig mediaInfo = redisCatchStorage.getMediaInfo(); + IMediaServerItem mediaInfo = mediaServerService.getOne(mediaId); + if (mediaInfo == null) { + response.setStatus(HttpStatus.NOT_FOUND.value()); + return null; + } String requestURI = String.format("http://%s:%s%s?%s", - mediaInfo.getLocalIP(), + mediaInfo.getSdpIp(), mediaConfig.getRecordAssistPort(), baseRequestURI.substring(baseRequestURI.indexOf(mediaId) + mediaId.length()), - URLDecoder.decode(request.getQueryString()) + URLDecoder.decode(request.getQueryString(), "UTF-8") ); // 鍙戦�佽姹� RestTemplate restTemplate = new RestTemplate(); -- Gitblit v1.8.0