[*] 配置结构调整
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| taoyao-media |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| taoyao-moon(MCU/SFU) | |
|
||||
| taoyao-moon | |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ taoyao-mesh +
|
||||
| taoyao-kurento | |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
流媒体点对点连接,不经过服务端。
|
||||
|
||||
#### 注意事项
|
||||
#### 功能简介
|
||||
|
||||
* ~~直播~~
|
||||
* 会议:一对一、~~多对多~~
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
> 为什么叫`Moon`:因为这是古诗词中最美丽的意象
|
||||
|
||||
#### 注意事项
|
||||
#### 功能简介
|
||||
|
||||
* 需要安装[KMS服务](./docs/Deploy.md#kmskurento-media-server)
|
||||
* 提供混音、变声、美颜、录制等等媒体功能
|
||||
|
||||
@@ -48,6 +48,11 @@ import org.springframework.web.servlet.NoHandlerFoundException;
|
||||
import com.acgist.taoyao.boot.controller.TaoyaoControllerAdvice;
|
||||
import com.acgist.taoyao.boot.controller.TaoyaoErrorController;
|
||||
import com.acgist.taoyao.boot.model.MessageCode;
|
||||
import com.acgist.taoyao.boot.property.IdProperties;
|
||||
import com.acgist.taoyao.boot.property.MediaProperties;
|
||||
import com.acgist.taoyao.boot.property.SecurityProperties;
|
||||
import com.acgist.taoyao.boot.property.TaoyaoProperties;
|
||||
import com.acgist.taoyao.boot.property.WebrtcProperties;
|
||||
import com.acgist.taoyao.boot.service.IdService;
|
||||
import com.acgist.taoyao.boot.service.impl.IdServiceImpl;
|
||||
import com.acgist.taoyao.boot.utils.ErrorUtils;
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
package com.acgist.taoyao.boot.config;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 媒体配置
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Schema(title = "媒体配置", description = "媒体配置")
|
||||
@ConfigurationProperties(prefix = "taoyao.media")
|
||||
public class MediaProperties {
|
||||
|
||||
/**
|
||||
* 音频配置
|
||||
*/
|
||||
private MediaAudioProperties audio;
|
||||
/**
|
||||
* 视频配置
|
||||
*/
|
||||
private MediaVideoProperties video;
|
||||
|
||||
}
|
||||
@@ -11,6 +11,9 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Profile;
|
||||
|
||||
import com.acgist.taoyao.boot.property.SecurityProperties;
|
||||
import com.acgist.taoyao.boot.property.TaoyaoProperties;
|
||||
|
||||
import io.swagger.v3.oas.models.Components;
|
||||
import io.swagger.v3.oas.models.OpenAPI;
|
||||
import io.swagger.v3.oas.models.info.Contact;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.boot.config;
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.boot.config;
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.boot.config;
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 媒体配置
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Schema(title = "媒体配置", description = "媒体配置")
|
||||
@ConfigurationProperties(prefix = "taoyao.media")
|
||||
public class MediaProperties {
|
||||
|
||||
/**
|
||||
* 音频配置
|
||||
*/
|
||||
@Schema(title = "音频配置", description = "音频配置")
|
||||
private MediaAudioProperties audio;
|
||||
/**
|
||||
* 视频配置
|
||||
*/
|
||||
@Schema(title = "视频配置", description = "视频配置")
|
||||
private MediaVideoProperties video;
|
||||
/**
|
||||
* 高清视频
|
||||
*/
|
||||
@Schema(title = "高清视频", description = "高清视频")
|
||||
private MediaVideoProperties highVideo;
|
||||
/**
|
||||
* 标清视频
|
||||
*/
|
||||
@Schema(title = "标清视频", description = "标清视频")
|
||||
private MediaVideoProperties normVideo;
|
||||
/**
|
||||
* 流畅视频
|
||||
*/
|
||||
@Schema(title = "流畅视频", description = "流畅视频")
|
||||
private MediaVideoProperties flowVideo;
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.boot.config;
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* Moon架构配置
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Schema(title = "Moon架构配置", description = "Moon架构配置")
|
||||
public class MoonProperties {
|
||||
|
||||
/**
|
||||
* 是否混音
|
||||
*/
|
||||
@Schema(title = "是否混音", description = "是否混音")
|
||||
private Boolean audioMix;
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.boot.config;
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.boot.config;
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.boot.config;
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.boot.config;
|
||||
package com.acgist.taoyao.boot.property;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
@@ -65,6 +65,11 @@ public class WebrtcProperties {
|
||||
*/
|
||||
@Schema(title = "KMS配置", description = "KMS配置")
|
||||
private KmsProperties kms;
|
||||
/**
|
||||
* Moon架构配置
|
||||
*/
|
||||
@Schema(title = "Moon架构配置", description = "Moon架构配置")
|
||||
private MoonProperties moon;
|
||||
/**
|
||||
* 信令配置
|
||||
*/
|
||||
@@ -4,7 +4,7 @@ import java.time.LocalDateTime;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.acgist.taoyao.boot.config.IdProperties;
|
||||
import com.acgist.taoyao.boot.property.IdProperties;
|
||||
import com.acgist.taoyao.boot.service.IdService;
|
||||
|
||||
public class IdServiceImpl implements IdService {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>taoyao-media</name>
|
||||
<description>媒体:录制、视频(水印、美颜、AI识别)、音频(降噪、混音、变声)</description>
|
||||
<description>媒体:录制、音频(降噪、混音、变声)、视频(水印、美颜、AI识别)</description>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
|
||||
@@ -5,9 +5,9 @@ import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.acgist.taoyao.boot.config.MediaProperties;
|
||||
import com.acgist.taoyao.boot.config.WebrtcProperties;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.boot.property.MediaProperties;
|
||||
import com.acgist.taoyao.boot.property.WebrtcProperties;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
|
||||
@@ -8,8 +8,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpStatus;
|
||||
|
||||
import com.acgist.taoyao.boot.config.SecurityProperties;
|
||||
import com.acgist.taoyao.boot.interceptor.InterceptorAdapter;
|
||||
import com.acgist.taoyao.boot.property.SecurityProperties;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
|
||||
@@ -2,8 +2,8 @@ package com.acgist.taoyao.interceptor;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.acgist.taoyao.boot.config.TaoyaoProperties;
|
||||
import com.acgist.taoyao.boot.interceptor.InterceptorAdapter;
|
||||
import com.acgist.taoyao.boot.property.TaoyaoProperties;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
|
||||
@@ -65,8 +65,25 @@ taoyao:
|
||||
format: H264
|
||||
bitrate: 1200
|
||||
frame-rate: 24
|
||||
resolution: 1280*760
|
||||
quality: high|standard|quick
|
||||
resolution: 1920*1080
|
||||
# 高清视频
|
||||
high-video:
|
||||
format: H264
|
||||
bitrate: 1000
|
||||
frame-rate: 18
|
||||
resolution: 1280*720
|
||||
# 标清视频
|
||||
norm-video:
|
||||
format: H264
|
||||
bitrate: 800
|
||||
frame-rate: 16
|
||||
resolution: 720*480
|
||||
# 流畅视频
|
||||
flow-video:
|
||||
format: H264
|
||||
bitrate: 600
|
||||
frame-rate: 16
|
||||
resolution: 640*480
|
||||
# WebRTC配置
|
||||
webrtc:
|
||||
# 架构模式
|
||||
@@ -94,6 +111,9 @@ taoyao:
|
||||
websocket: /websocket.signal
|
||||
username: username
|
||||
password: password
|
||||
# Moon架构配置
|
||||
moon:
|
||||
audio-mix: true
|
||||
# 信令服务配置
|
||||
signal:
|
||||
host: 192.168.1.100
|
||||
|
||||
@@ -9,8 +9,8 @@ import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
|
||||
import com.acgist.taoyao.boot.annotation.Manager;
|
||||
import com.acgist.taoyao.boot.config.TaoyaoProperties;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.boot.property.TaoyaoProperties;
|
||||
import com.acgist.taoyao.signal.event.client.ClientCloseEvent;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -4,10 +4,10 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
||||
import com.acgist.taoyao.boot.config.TaoyaoProperties;
|
||||
import com.acgist.taoyao.boot.model.Header;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.boot.model.MessageCode;
|
||||
import com.acgist.taoyao.boot.property.TaoyaoProperties;
|
||||
import com.acgist.taoyao.boot.service.IdService;
|
||||
import com.acgist.taoyao.signal.client.ClientSessionManager;
|
||||
import com.acgist.taoyao.signal.event.ApplicationEventAdapter;
|
||||
|
||||
@@ -6,9 +6,9 @@ import java.util.Map;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.acgist.taoyao.boot.annotation.Protocol;
|
||||
import com.acgist.taoyao.boot.config.MediaProperties;
|
||||
import com.acgist.taoyao.boot.config.WebrtcProperties;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.boot.property.MediaProperties;
|
||||
import com.acgist.taoyao.boot.property.WebrtcProperties;
|
||||
import com.acgist.taoyao.boot.utils.DateUtils;
|
||||
import com.acgist.taoyao.boot.utils.DateUtils.DateTimeStyle;
|
||||
import com.acgist.taoyao.signal.client.ClientSession;
|
||||
|
||||
@@ -6,9 +6,9 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.acgist.taoyao.boot.annotation.Protocol;
|
||||
import com.acgist.taoyao.boot.config.SecurityProperties;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.boot.model.MessageCode;
|
||||
import com.acgist.taoyao.boot.property.SecurityProperties;
|
||||
import com.acgist.taoyao.signal.client.ClientSession;
|
||||
import com.acgist.taoyao.signal.event.client.ClientRegisterEvent;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolMapAdapter;
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
<description>WebRTC模块</description>
|
||||
|
||||
<modules>
|
||||
<module>taoyao-webrtc-moon</module>
|
||||
<module>taoyao-webrtc-mesh</module>
|
||||
<module>taoyao-webrtc-moon</module>
|
||||
<module>taoyao-webrtc-kurento</module>
|
||||
</modules>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user