[+] 精简

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

View File

@@ -59,6 +59,11 @@ sysctl -p
yum install git
```
# KMS
```
```
## Java
安装之前需要卸载旧版,如果旧版已经是`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/59da3d350488
https://www.jianshu.com/p/fa047d7054eb
http://koca.szkingdom.com/forum/t/topic/218
https://segmentfault.com/a/1190000039782685
https://www.cnblogs.com/bolingcavalry/p/15473808.html
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/qq_40321119/article/details/108336324
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/weixin_48638578/article/details/120191152
https://blog.csdn.net/weixin_45565568/article/details/108929438
https://lequ7.com/guan-yu-webrtc-yi-wen-xiang-jie-webrtc-ji-chu.html
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

18
pom.xml
View File

@@ -29,8 +29,6 @@
<springdoc.version>2.0.0-RC1</springdoc.version>
<mapstruct.version>1.5.3.Final</mapstruct.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.encoding>UTF-8</taoyao.maven.encoding>
@@ -161,27 +159,11 @@
<artifactId>taoyao-webrtc-mesh</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-jitsi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-kurento</artifactId>
<version>${project.version}</version>
</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 -->
<dependency>
<groupId>org.kurento</groupId>

View File

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

View File

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

View File

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

View File

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

View File

@@ -20,7 +20,6 @@
<module>taoyao-webrtc-sfu</module>
<module>taoyao-webrtc-mcu</module>
<module>taoyao-webrtc-mesh</module>
<module>taoyao-webrtc-jitsi</module>
<module>taoyao-webrtc-kurento</module>
</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>
<dependencies>
<dependency>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-jitsi</artifactId>
</dependency>
<dependency>
<groupId>com.acgist</groupId>
<artifactId>taoyao-webrtc-kurento</artifactId>

View File

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

View File

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

View File

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

View File

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