[*] rtp
This commit is contained in:
@@ -15,6 +15,7 @@ import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 配置
|
||||
@@ -24,6 +25,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@Tag(name = "配置", description = "配置管理")
|
||||
@RestController
|
||||
@RequestMapping("/config")
|
||||
@RequiredArgsConstructor
|
||||
public class ConfigController {
|
||||
|
||||
private final MediaProperties mediaProperties;
|
||||
@@ -31,18 +33,6 @@ public class ConfigController {
|
||||
private final SocketProperties socketProperties;
|
||||
private final WebrtcProperties webrtcProperties;
|
||||
|
||||
public ConfigController(
|
||||
MediaProperties mediaProperties,
|
||||
CameraProperties cameraProperties,
|
||||
SocketProperties socketProperties,
|
||||
WebrtcProperties webrtcProperties
|
||||
) {
|
||||
this.mediaProperties = mediaProperties;
|
||||
this.cameraProperties = cameraProperties;
|
||||
this.socketProperties = socketProperties;
|
||||
this.webrtcProperties = webrtcProperties;
|
||||
}
|
||||
|
||||
@Operation(summary = "媒体配置", description = "媒体配置")
|
||||
@GetMapping("/media")
|
||||
@ApiResponse(content = @Content(schema = @Schema(implementation = MediaProperties.class)))
|
||||
|
||||
@@ -27,6 +27,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 控制
|
||||
@@ -37,6 +38,7 @@ import jakarta.validation.constraints.NotNull;
|
||||
@Validated
|
||||
@RestController
|
||||
@RequestMapping("/control")
|
||||
@RequiredArgsConstructor
|
||||
public class ControlController {
|
||||
|
||||
private final ControlAiProtocol controlAiProtocol;
|
||||
@@ -49,28 +51,6 @@ public class ControlController {
|
||||
private final ControlConfigAudioProtocol controlConfigAudioProtocol;
|
||||
private final ControlConfigVideoProtocol controlConfigVideoProtocol;
|
||||
|
||||
public ControlController(
|
||||
ControlAiProtocol controlAiProtocol,
|
||||
ControlPtzProtocol controlPtzProtocol,
|
||||
ControlBellProtocol controlBellProtocol,
|
||||
ControlBeautyProtocol controlBeautyProtocol,
|
||||
ControlRecordProtocol controlRecordProtocol,
|
||||
ControlWatermarkProtocol controlWatermarkProtocol,
|
||||
ControlPhotographProtocol controlPhotographProtocol,
|
||||
ControlConfigAudioProtocol controlConfigAudioProtocol,
|
||||
ControlConfigVideoProtocol controlConfigVideoProtocol
|
||||
) {
|
||||
this.controlAiProtocol = controlAiProtocol;
|
||||
this.controlPtzProtocol = controlPtzProtocol;
|
||||
this.controlBellProtocol = controlBellProtocol;
|
||||
this.controlBeautyProtocol = controlBeautyProtocol;
|
||||
this.controlRecordProtocol = controlRecordProtocol;
|
||||
this.controlWatermarkProtocol = controlWatermarkProtocol;
|
||||
this.controlPhotographProtocol = controlPhotographProtocol;
|
||||
this.controlConfigAudioProtocol = controlConfigAudioProtocol;
|
||||
this.controlConfigVideoProtocol = controlConfigVideoProtocol;
|
||||
}
|
||||
|
||||
@Operation(summary = "AI识别", description = "AI识别控制")
|
||||
@GetMapping("/ai/{clientId}")
|
||||
public Message ai(@PathVariable String clientId, @Valid AiProperties aiProperties) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.boot.model.MessageCode;
|
||||
import com.acgist.taoyao.signal.protocol.platform.PlatformRebootProtocol;
|
||||
import com.acgist.taoyao.signal.protocol.platform.PlatformShutdownProtocol;
|
||||
|
||||
@@ -38,6 +39,9 @@ public class PlatformController {
|
||||
@Operation(summary = "重启平台", description = "重启平台")
|
||||
@GetMapping("/reboot")
|
||||
public Message platformReboot() {
|
||||
if(this.platformRebootProtocol == null) {
|
||||
return Message.fail(MessageCode.CODE_3406, "功能没有开启");
|
||||
}
|
||||
this.platformRebootProtocol.execute();
|
||||
return Message.success();
|
||||
}
|
||||
@@ -45,6 +49,9 @@ public class PlatformController {
|
||||
@Operation(summary = "关闭平台", description = "关闭平台")
|
||||
@GetMapping("/shutdown")
|
||||
public Message platformShutdown() {
|
||||
if(this.platformShutdownProtocol == null) {
|
||||
return Message.fail(MessageCode.CODE_3406, "功能没有开启");
|
||||
}
|
||||
this.platformShutdownProtocol.execute();
|
||||
return Message.success();
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.boot.model.MessageCode;
|
||||
import com.acgist.taoyao.signal.protocol.system.SystemRebootProtocol;
|
||||
import com.acgist.taoyao.signal.protocol.system.SystemShutdownProtocol;
|
||||
|
||||
@@ -38,6 +39,9 @@ public class SystemController {
|
||||
@Operation(summary = "重启系统", description = "重启系统")
|
||||
@GetMapping("/reboot")
|
||||
public Message systemReboot() {
|
||||
if(this.systemRebootProtocol == null) {
|
||||
return Message.fail(MessageCode.CODE_3406, "功能没有开启");
|
||||
}
|
||||
this.systemRebootProtocol.execute();
|
||||
return Message.success();
|
||||
}
|
||||
@@ -45,6 +49,9 @@ public class SystemController {
|
||||
@Operation(summary = "关闭系统", description = "关闭系统")
|
||||
@GetMapping("/shutdown")
|
||||
public Message systemShutdown() {
|
||||
if(this.systemShutdownProtocol == null) {
|
||||
return Message.fail(MessageCode.CODE_3406, "功能没有开启");
|
||||
}
|
||||
this.systemShutdownProtocol.execute();
|
||||
return Message.success();
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ public class SocketSignalTest {
|
||||
}
|
||||
""";
|
||||
// {"header":{"v":"1.0.0","id":1215310510002009,"signal":"room::enter"},"body":{"roomId":"8260e615-3081-4bfc-96a8-574f4dd780d9"}}
|
||||
// {"header":{"v":"1.0.0","id":1215310510002010,"signal":"media::transport::plain::in"},"body":{"roomId":"8260e615-3081-4bfc-96a8-574f4dd780d9","rtcpMux":false,"comedia":true}}
|
||||
// {"header":{"v":"1.0.0","id":1215310510002010,"signal":"media::transport::plain"},"body":{"roomId":"8260e615-3081-4bfc-96a8-574f4dd780d9","rtcpMux":false,"comedia":true}}
|
||||
// {"header":{"v":"1.0.0","id":1215375110006012,"signal":"media::produce"},"body":{"kind":"video","roomId":"8260e615-3081-4bfc-96a8-574f4dd780d9","transportId":"14dc9307-bf9c-4442-a9ad-ce6a97623ef4","appData":{},"rtpParameters":{"codecs":[{"mimeType":"video/vp8","clockRate":90000,"payloadType":102,"rtcpFeedback":[]}],"encodings":[{"ssrc":123123}]}}}
|
||||
// ffplay -protocol_whitelist "file,udp,rtp" taoyao.sdp
|
||||
// ffmpeg -re -i video.mp4 -vcodec copy -map 0:0 -f rtp rtp://localhost:6666 > taoyao.sdp
|
||||
|
||||
Reference in New Issue
Block a user