setServerConfig 改为 post
添加 openRtpServer,closeRtpServer
This commit is contained in:
parent
3685e4e648
commit
d6960a64c4
@ -0,0 +1,17 @@
|
|||||||
|
package cn.skcks.docking.gb28181.media.dto.rtp;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public class CloseRtpServer {
|
||||||
|
private String streamId;
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
package cn.skcks.docking.gb28181.media.dto.rtp;
|
||||||
|
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.status.ResponseStatus;
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CloseRtpServerResp {
|
||||||
|
private ResponseStatus code;
|
||||||
|
private Integer hit;
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package cn.skcks.docking.gb28181.media.dto.rtp;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import feign.Param;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public class OpenRtpServer {
|
||||||
|
private int port;
|
||||||
|
|
||||||
|
private int tcpMode;
|
||||||
|
|
||||||
|
private String streamId;
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
package cn.skcks.docking.gb28181.media.dto.rtp;
|
||||||
|
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.status.ResponseStatus;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class OpenRtpServerResp {
|
||||||
|
private ResponseStatus code;
|
||||||
|
private Integer port;
|
||||||
|
}
|
@ -2,15 +2,19 @@ package cn.skcks.docking.gb28181.media.proxy;
|
|||||||
|
|
||||||
import cn.skcks.docking.gb28181.media.dto.config.ServerConfig;
|
import cn.skcks.docking.gb28181.media.dto.config.ServerConfig;
|
||||||
import cn.skcks.docking.gb28181.media.dto.response.ZlmResponse;
|
import cn.skcks.docking.gb28181.media.dto.response.ZlmResponse;
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.rtp.CloseRtpServer;
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.rtp.CloseRtpServerResp;
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.rtp.OpenRtpServer;
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.rtp.OpenRtpServerResp;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.cloud.openfeign.SpringQueryMap;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.service.annotation.HttpExchange;
|
import org.springframework.web.service.annotation.HttpExchange;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@FeignClient(name="zlmMediaServerProxy",url = "${media.url}")
|
@FeignClient(name="zlmMediaServerProxy",url = "${media.url}")
|
||||||
@HttpExchange
|
@HttpExchange
|
||||||
@ -24,6 +28,12 @@ public interface ZlmMediaHttpClient {
|
|||||||
@GetMapping("/index/api/getServerConfig")
|
@GetMapping("/index/api/getServerConfig")
|
||||||
ResponseEntity<String> getServerConfigResponseEntity(@RequestParam String secret);
|
ResponseEntity<String> getServerConfigResponseEntity(@RequestParam String secret);
|
||||||
|
|
||||||
@GetMapping("/index/api/setServerConfig")
|
@PostMapping("/index/api/setServerConfig")
|
||||||
String setServerConfig(@RequestParam String secret, @SpringQueryMap Map<String,Object> config);
|
String setServerConfig(@RequestParam String secret, @RequestBody ServerConfig config);
|
||||||
|
|
||||||
|
@PostMapping("/index/api/openRtpServer")
|
||||||
|
OpenRtpServerResp openRtpServer(@RequestParam String secret, @RequestBody OpenRtpServer params);
|
||||||
|
|
||||||
|
@PostMapping("/index/api/closeRtpServer")
|
||||||
|
CloseRtpServerResp closeRtpServer(@RequestParam String secret, @RequestBody CloseRtpServer params);
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,10 @@ package cn.skcks.docking.gb28181.media.proxy;
|
|||||||
import cn.skcks.docking.gb28181.common.json.JsonUtils;
|
import cn.skcks.docking.gb28181.common.json.JsonUtils;
|
||||||
import cn.skcks.docking.gb28181.media.dto.config.ServerConfig;
|
import cn.skcks.docking.gb28181.media.dto.config.ServerConfig;
|
||||||
import cn.skcks.docking.gb28181.media.dto.response.ZlmResponse;
|
import cn.skcks.docking.gb28181.media.dto.response.ZlmResponse;
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.rtp.CloseRtpServer;
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.rtp.CloseRtpServerResp;
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.rtp.OpenRtpServer;
|
||||||
|
import cn.skcks.docking.gb28181.media.dto.rtp.OpenRtpServerResp;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
@ -11,7 +15,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Builder
|
@Builder
|
||||||
public class ZlmMediaHttpService {
|
public class ZlmMediaService {
|
||||||
private String secret;
|
private String secret;
|
||||||
private ZlmMediaHttpClient exchange;
|
private ZlmMediaHttpClient exchange;
|
||||||
|
|
||||||
@ -30,7 +34,14 @@ public class ZlmMediaHttpService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String setServerConfig(ServerConfig config){
|
public String setServerConfig(ServerConfig config){
|
||||||
Map<String,Object> map = JsonUtils.mapper.convertValue(config, new TypeReference<>() {});
|
return exchange.setServerConfig(secret, config);
|
||||||
return exchange.setServerConfig(secret, map);
|
}
|
||||||
|
|
||||||
|
public OpenRtpServerResp openRtpServer(OpenRtpServer params){
|
||||||
|
return exchange.openRtpServer(secret, params);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CloseRtpServerResp closeRtpServer(CloseRtpServer params){
|
||||||
|
return exchange.closeRtpServer(secret, params);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,8 +12,8 @@ public class ZlmProxy {
|
|||||||
private final ZlmMediaHttpClient exchange;
|
private final ZlmMediaHttpClient exchange;
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public ZlmMediaHttpService zlMediaHttpService(){
|
public ZlmMediaService zlMediaHttpService(){
|
||||||
return ZlmMediaHttpService.builder()
|
return ZlmMediaService.builder()
|
||||||
.secret(mediaConfig.getSecret())
|
.secret(mediaConfig.getSecret())
|
||||||
.exchange(exchange)
|
.exchange(exchange)
|
||||||
.build();
|
.build();
|
||||||
|
@ -1,18 +1,14 @@
|
|||||||
package cn.skcks.docking.gb28181.test;
|
package cn.skcks.docking.gb28181.test;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import cn.hutool.core.date.ZoneUtil;
|
|
||||||
import cn.skcks.docking.gb28181.common.json.JsonResponse;
|
import cn.skcks.docking.gb28181.common.json.JsonResponse;
|
||||||
import cn.skcks.docking.gb28181.common.json.JsonUtils;
|
|
||||||
import cn.skcks.docking.gb28181.media.config.ZlmMediaConfig;
|
|
||||||
import cn.skcks.docking.gb28181.media.dto.config.ApiConfig;
|
|
||||||
import cn.skcks.docking.gb28181.media.dto.config.ServerConfig;
|
import cn.skcks.docking.gb28181.media.dto.config.ServerConfig;
|
||||||
import cn.skcks.docking.gb28181.media.dto.response.ZlmResponse;
|
import cn.skcks.docking.gb28181.media.dto.response.ZlmResponse;
|
||||||
import cn.skcks.docking.gb28181.media.dto.response.ZlmResponseConvertor;
|
import cn.skcks.docking.gb28181.media.dto.response.ZlmResponseConvertor;
|
||||||
import cn.skcks.docking.gb28181.media.proxy.ZlmMediaHttpService;
|
import cn.skcks.docking.gb28181.media.dto.rtp.CloseRtpServer;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import cn.skcks.docking.gb28181.media.dto.rtp.OpenRtpServer;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import cn.skcks.docking.gb28181.media.proxy.ZlmMediaService;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
@ -25,7 +21,6 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
|
|||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.ZoneOffset;
|
import java.time.ZoneOffset;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@ -35,7 +30,7 @@ import java.util.*;
|
|||||||
@ExtendWith(SpringExtension.class)
|
@ExtendWith(SpringExtension.class)
|
||||||
public class MediaServiceTest {
|
public class MediaServiceTest {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ZlmMediaHttpService zlMediaHttpService;
|
private ZlmMediaService zlMediaHttpService;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void test(){
|
void test(){
|
||||||
@ -66,14 +61,34 @@ public class MediaServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@SneakyThrows
|
||||||
void testApi(){
|
void testApi(){
|
||||||
log.info("{}", zlMediaHttpService.getApiList());
|
log.info("{}", zlMediaHttpService.getApiList());
|
||||||
|
int port = 60000;
|
||||||
|
String streamId = "testStream";
|
||||||
|
OpenRtpServer openRtpServer = new OpenRtpServer(port,0,streamId);
|
||||||
|
log.info("{}", zlMediaHttpService.openRtpServer(openRtpServer));
|
||||||
|
Thread.sleep(500);
|
||||||
|
CloseRtpServer closeRtpServer = new CloseRtpServer(streamId);
|
||||||
|
log.info("{}", zlMediaHttpService.closeRtpServer(closeRtpServer));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void httpBinTest(){
|
void configTest(){
|
||||||
ZlmResponse<List<ServerConfig>> resp = zlMediaHttpService.getServerConfig();
|
ZlmResponse<List<ServerConfig>> resp = zlMediaHttpService.getServerConfig();
|
||||||
|
log.info("{}", resp);
|
||||||
ServerConfig config = resp.getData().get(0);
|
ServerConfig config = resp.getData().get(0);
|
||||||
|
config.getApi().setApiDebug(0);
|
||||||
|
log.info("{}", zlMediaHttpService.setServerConfig(config));
|
||||||
|
|
||||||
|
resp = zlMediaHttpService.getServerConfig();
|
||||||
|
log.info("{}", resp);
|
||||||
|
config.getApi().setApiDebug(1);
|
||||||
|
log.info("{}", zlMediaHttpService.setServerConfig(config));
|
||||||
|
|
||||||
|
resp = zlMediaHttpService.getServerConfig();
|
||||||
|
log.info("{}", resp);
|
||||||
|
|
||||||
log.info("{}", zlMediaHttpService.setServerConfig(config));
|
log.info("{}", zlMediaHttpService.setServerConfig(config));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user