[+] 精简

This commit is contained in:
acgist
2022-11-28 22:01:50 +08:00
parent 9667f9cd08
commit fe7e48ec0e
15 changed files with 21 additions and 100 deletions

View File

@@ -19,7 +19,6 @@
|taoyao-webrtc-sfu|WebRTC SFU架构|SFU架构| |taoyao-webrtc-sfu|WebRTC SFU架构|SFU架构|
|taoyao-webrtc-mcu|WebRTC MCU架构|MCU架构| |taoyao-webrtc-mcu|WebRTC MCU架构|MCU架构|
|taoyao-webrtc-mesh|WebRTC MESH架构|MESH架构| |taoyao-webrtc-mesh|WebRTC MESH架构|MESH架构|
|taoyao-webrtc-jitsi|WebRTC协议簇jitsi实现|WebRTC协议簇jitsi实现|
|taoyao-webrtc-kurento|WebRTC协议簇kurento实现|WebRTC协议簇kurento实现| |taoyao-webrtc-kurento|WebRTC协议簇kurento实现|WebRTC协议簇kurento实现|
> 终端负责推流,服务端负责处理媒体流,这些功能也可以在终端实现。主次码流没在终端实现,服务端实现可以有更多选择。 > 终端负责推流,服务端负责处理媒体流,这些功能也可以在终端实现。主次码流没在终端实现,服务端实现可以有更多选择。
@@ -36,7 +35,7 @@
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-mcu / taoyao-sfu | | | taoyao-mcu / taoyao-sfu | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ taoyao-mesh + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ taoyao-mesh +
| taoyao-jitsi / taoyao-kurento | | | taoyao-kurento | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-signal | | taoyao-signal |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@@ -44,6 +43,8 @@
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
``` ```
> 综合比较jitsi|kurento两个框架最后选择kurento
## 架构比较 ## 架构比较
### Mesh ### Mesh

View File

@@ -59,6 +59,11 @@ sysctl -p
yum install git yum install git
``` ```
# KMS
```
```
## Java ## Java
安装之前需要卸载旧版,如果旧版已经是`17+`可以忽略安装。 安装之前需要卸载旧版,如果旧版已经是`17+`可以忽略安装。
@@ -162,6 +167,7 @@ keytool -genkeypair -keyalg RSA -dname "CN=localhost, OU=acgist, O=taoyao, L=GZ,
https://www.jianshu.com/p/fa047d7054eb https://www.jianshu.com/p/fa047d7054eb
https://www.jianshu.com/p/59da3d350488 https://www.jianshu.com/p/59da3d350488
https://www.jianshu.com/p/fa047d7054eb https://www.jianshu.com/p/fa047d7054eb
http://koca.szkingdom.com/forum/t/topic/218
https://segmentfault.com/a/1190000039782685 https://segmentfault.com/a/1190000039782685
https://www.cnblogs.com/bolingcavalry/p/15473808.html https://www.cnblogs.com/bolingcavalry/p/15473808.html
http://www.manoner.com/post/音视频基础/WebRTC核心组件和协议栈/ http://www.manoner.com/post/音视频基础/WebRTC核心组件和协议栈/
@@ -169,7 +175,10 @@ https://blog.csdn.net/eguid_1/article/details/117277841
https://blog.csdn.net/xiang_6119/article/details/108779678 https://blog.csdn.net/xiang_6119/article/details/108779678
https://blog.csdn.net/qq_40321119/article/details/108336324 https://blog.csdn.net/qq_40321119/article/details/108336324
https://blog.csdn.net/ababab12345/article/details/115585378 https://blog.csdn.net/ababab12345/article/details/115585378
https://blog.csdn.net/m0_64867003/article/details/121901782
https://blog.csdn.net/jisuanji111111/article/details/121634199 https://blog.csdn.net/jisuanji111111/article/details/121634199
https://blog.csdn.net/weixin_48638578/article/details/120191152 https://blog.csdn.net/weixin_48638578/article/details/120191152
https://blog.csdn.net/weixin_45565568/article/details/108929438 https://blog.csdn.net/weixin_45565568/article/details/108929438
https://blog.csdn.net/weixin_40425640/article/details/125444018
http://t.zoukankan.com/yjmyzz-p-webrtc-groupcall-using-kurento.html
https://lequ7.com/guan-yu-webrtc-yi-wen-xiang-jie-webrtc-ji-chu.html https://lequ7.com/guan-yu-webrtc-yi-wen-xiang-jie-webrtc-ji-chu.html

18
pom.xml
View File

@@ -29,8 +29,6 @@
<springdoc.version>2.0.0-RC1</springdoc.version> <springdoc.version>2.0.0-RC1</springdoc.version>
<mapstruct.version>1.5.3.Final</mapstruct.version> <mapstruct.version>1.5.3.Final</mapstruct.version>
<collections4.version>4.4</collections4.version> <collections4.version>4.4</collections4.version>
<jitsi.ice4j.version>3.0-59-g71e244d</jitsi.ice4j.version>
<jitsi.libjitsi.version>1.1-22-g5c9346c5</jitsi.libjitsi.version>
<!-- 配置 --> <!-- 配置 -->
<taoyao.maven.basedir>${project.basedir}</taoyao.maven.basedir> <taoyao.maven.basedir>${project.basedir}</taoyao.maven.basedir>
<taoyao.maven.encoding>UTF-8</taoyao.maven.encoding> <taoyao.maven.encoding>UTF-8</taoyao.maven.encoding>
@@ -161,27 +159,11 @@
<artifactId>taoyao-webrtc-mesh</artifactId> <artifactId>taoyao-webrtc-mesh</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-jitsi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency> <dependency>
<groupId>com.acgist</groupId> <groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-kurento</artifactId> <artifactId>taoyao-webrtc-kurento</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<!-- WebRTCjitsi -->
<dependency>
<groupId>org.jitsi</groupId>
<artifactId>ice4j</artifactId>
<version>${jitsi.ice4j.version}</version>
</dependency>
<dependency>
<groupId>org.jitsi</groupId>
<artifactId>libjitsi</artifactId>
<version>${jitsi.libjitsi.version}</version>
</dependency>
<!-- WebRTCkurento --> <!-- WebRTCkurento -->
<dependency> <dependency>
<groupId>org.kurento</groupId> <groupId>org.kurento</groupId>

View File

@@ -77,8 +77,8 @@ public class BootAutoConfiguration {
@Value("${spring.application.name:taoyao}") @Value("${spring.application.name:taoyao}")
private String name; private String name;
@Value("${taoyao.webrtc.model:SFU}") @Value("${taoyao.webrtc.framework:SFU}")
private String model; private String framework;
@Autowired @Autowired
private ApplicationContext context; private ApplicationContext context;
@@ -162,7 +162,7 @@ public class BootAutoConfiguration {
this.context.getBeansOfType(TaskScheduler.class).forEach((k, v) -> { this.context.getBeansOfType(TaskScheduler.class).forEach((k, v) -> {
log.info("系统定时任务线程池:{}-{}", k, v); log.info("系统定时任务线程池:{}-{}", k, v);
}); });
log.info("WebRTC架构{}", this.model); log.info("WebRTC架构{}", this.framework);
this.registerException(); this.registerException();
} }

View File

@@ -22,7 +22,7 @@ public class WebrtcProperties {
* *
* @author acgist * @author acgist
*/ */
public enum Model { public enum Framework {
/** /**
* SFU架构 * SFU架构
@@ -39,33 +39,10 @@ public class WebrtcProperties {
} }
/**
* 基础框架
*
* @author acgist
*/
public enum Framework {
/**
* jitsi
*/
JITSI,
/**
* kurento
*/
KURENTO;
}
/** /**
* 模型 * 模型
*/ */
@Schema(title = "架构模型", description = "WebRTC架构模型") @Schema(title = "架构模型", description = "WebRTC架构模型")
private Model model;
/**
* 框架
*/
@Schema(title = "基础框架", description = "WebRTC基础框架")
private Framework framework; private Framework framework;
/** /**
* stun服务器 * stun服务器

View File

@@ -29,14 +29,6 @@
<groupId>com.acgist</groupId> <groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-mesh</artifactId> <artifactId>taoyao-webrtc-mesh</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-jitsi</artifactId>
</dependency>
<dependency>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-kurento</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -69,8 +69,7 @@ taoyao:
quality: high|standard|quick quality: high|standard|quick
# WebRTC配置 # WebRTC配置
webrtc: webrtc:
model: MESH framework: MESH
framework: JITSI
stun: stun:
- stun:stun1.l.google.com:19302 - stun:stun1.l.google.com:19302
- stun:stun2.l.google.com:19302 - stun:stun2.l.google.com:19302

View File

@@ -20,7 +20,6 @@
<module>taoyao-webrtc-sfu</module> <module>taoyao-webrtc-sfu</module>
<module>taoyao-webrtc-mcu</module> <module>taoyao-webrtc-mcu</module>
<module>taoyao-webrtc-mesh</module> <module>taoyao-webrtc-mesh</module>
<module>taoyao-webrtc-jitsi</module>
<module>taoyao-webrtc-kurento</module> <module>taoyao-webrtc-kurento</module>
</modules> </modules>

View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>taoyao-webrtc-jitsi</artifactId>
<packaging>jar</packaging>
<name>taoyao-webrtc-jitsi</name>
<description>WebRTC协议簇实现jitsi</description>
<dependencies>
<dependency>
<groupId>org.jitsi</groupId>
<artifactId>ice4j</artifactId>
</dependency>
<dependency>
<groupId>org.jitsi</groupId>
<artifactId>libjitsi</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -17,10 +17,6 @@
<description>WebRTC MCU架构实现</description> <description>WebRTC MCU架构实现</description>
<dependencies> <dependencies>
<dependency>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-jitsi</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.acgist</groupId> <groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-kurento</artifactId> <artifactId>taoyao-webrtc-kurento</artifactId>

View File

@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration;
* @author acgist * @author acgist
*/ */
@Configuration @Configuration
@ConditionalOnProperty(prefix = "taoyao.webrtc", name = "model", havingValue = "MCU", matchIfMissing = false) @ConditionalOnProperty(prefix = "taoyao.webrtc", name = "framework", havingValue = "MCU", matchIfMissing = false)
public class McuAutoConfiguration { public class McuAutoConfiguration {
} }

View File

@@ -17,7 +17,7 @@ import com.acgist.taoyao.webrtc.mesh.listener.MediaSubscribeListener;
* @author acgist * @author acgist
*/ */
@Configuration @Configuration
@ConditionalOnProperty(prefix = "taoyao.webrtc", name = "model", havingValue = "MESH", matchIfMissing = false) @ConditionalOnProperty(prefix = "taoyao.webrtc", name = "framework", havingValue = "MESH", matchIfMissing = false)
public class MeshAutoConfiguration { public class MeshAutoConfiguration {
@Bean @Bean

View File

@@ -17,10 +17,6 @@
<description>WebRTC SFU架构实现</description> <description>WebRTC SFU架构实现</description>
<dependencies> <dependencies>
<dependency>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-jitsi</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.acgist</groupId> <groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-kurento</artifactId> <artifactId>taoyao-webrtc-kurento</artifactId>

View File

@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration;
* @author acgist * @author acgist
*/ */
@Configuration @Configuration
@ConditionalOnProperty(prefix = "taoyao.webrtc", name = "model", havingValue = "SFU", matchIfMissing = true) @ConditionalOnProperty(prefix = "taoyao.webrtc", name = "framework", havingValue = "SFU", matchIfMissing = true)
public class SfuAutoConfiguration { public class SfuAutoConfiguration {
} }