From 6358255458e74f55da7fefcd87dfb0bb7c358805 Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Wed, 22 Feb 2023 07:42:40 +0800 Subject: [PATCH] =?UTF-8?q?[+]=20=E7=BB=93=E6=9E=84=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitmodules | 8 +- README.md | 10 +- docs/Deploy.md | 10 +- .../libmediasoupclient | 0 .../README.md | 0 .../ecosystem.config.cluster.json | 2 +- .../ecosystem.config.json | 2 +- taoyao-client-media/mediasoup | 1 + .../package.json | 6 +- .../src/Config.js | 2 +- .../src/Server.js | 0 .../src/Signal.js | 0 .../src/certs/privateKey.pem | 0 .../src/certs/publicKey.pem | 0 .../src/index.html | 2 +- taoyao-media-server/mediasoup | 1 - .../docs/assembly/{release.xml => prd.xml} | 2 +- taoyao-signal-server/docs/bin/deploy.sh | 2 + taoyao-signal-server/pom.xml | 6 +- .../taoyao/boot/annotation/Description.java | 2 - .../boot/{property => config}/Constant.java | 26 +++- .../{property => config}/IdProperties.java | 2 +- .../MediaAudioProperties.java | 2 +- .../{property => config}/MediaProperties.java | 2 +- .../MediaServerProperties.java | 4 +- .../MediaVideoProperties.java | 2 +- .../ScriptProperties.java | 2 +- .../SecurityProperties.java | 3 +- .../SocketProperties.java | 2 +- .../TaoyaoProperties.java | 4 +- .../WebrtcProperties.java | 3 +- .../WebrtcStunProperties.java | 4 +- .../WebrtcTurnProperties.java | 4 +- .../configuration/BootAutoConfiguration.java | 31 ++-- .../SpringDocAutoConfiguration.java | 4 +- .../boot/runner/OrderedCommandLineRunner.java | 18 +++ .../acgist/taoyao/boot/service/IpService.java | 48 ++++++ .../boot/service/impl/IdServiceImpl.java | 2 +- .../boot/service/impl/IpServiceImpl.java | 145 ++++++++++++++++++ .../acgist/taoyao/boot/utils/HTTPUtils.java | 24 +++ .../src/main/resources/logback-spring.xml | 12 +- .../taoyao/controller/ConfigController.java | 4 +- .../taoyao/controller/ControlController.java | 85 ++++++++++ .../interceptor/SecurityInterceptor.java | 2 +- .../taoyao/interceptor/SlowInterceptor.java | 2 +- .../src/main/resources/application-dev.yml | 4 +- .../src/main/resources/application-local.yml | 12 -- ...cation-release.yml => application-prd.yml} | 0 .../src/main/resources/application.yml | 29 ++-- .../{boot => }/service/IdServiceTest.java | 3 +- .../acgist/taoyao/service/IpServiceTest.java | 77 ++++++++++ .../taoyao/signal/SocketSignalTest.java | 2 +- .../acgist/taoyao/signal/MapBodyGetter.java | 12 +- .../taoyao/signal/client/ClientManager.java | 4 +- .../taoyao/signal/client/ClientType.java | 45 ++++++ .../signal/client/socket/SocketClient.java | 2 +- .../signal/client/socket/SocketSignal.java | 2 +- .../socket/SocketSignalAcceptHandler.java | 2 +- .../socket/SocketSignalMessageHandler.java | 2 +- .../client/websocket/WebSocketClient.java | 2 +- .../WebSocketSignalConfigurator.java | 2 +- .../MediaClientAutoConfiguration.java | 5 +- .../SignalAutoConfiguration.java | 30 ++++ .../SocketSignalAutoConfiguration.java | 5 +- .../signal/controller/ClientController.java | 12 +- .../signal/controller/ProtocolController.java | 32 ++-- .../taoyao/signal/media/MediaClient.java | 11 +- .../signal/media/MediaClientManager.java | 2 +- .../taoyao/signal/media/RoomManager.java | 2 +- .../acgist/taoyao/signal/media/Transport.java | 2 +- .../signal/protocol/ControlProtocol.java | 11 ++ .../taoyao/signal/protocol/Protocol.java | 33 ++-- .../signal/protocol/ProtocolAdapter.java | 10 +- .../protocol/ProtocolClientAdapter.java | 16 +- .../signal/protocol/ProtocolManager.java | 14 +- .../signal/protocol/ProtocolMediaAdapter.java | 7 +- .../signal/protocol/ProtocolRoomAdapter.java | 22 +-- .../protocol/client/ClientCloseProtocol.java | 2 +- .../protocol/client/ClientConfigProtocol.java | 36 +++-- .../client/ClientHeartbeatProtocol.java | 2 +- .../protocol/client/ClientRebootProtocol.java | 19 ++- .../client/ClientRegisterProtocol.java | 4 +- .../client/ClientShutdownProtocol.java | 32 ++++ .../protocol/client/ClientStatusProtocol.java | 2 +- .../client/ClientUnicastProtocol.java | 2 +- .../protocol/client/ClientWakeupProtocol.java | 10 ++ .../protocol/media/MediaListProtocol.java | 2 +- .../protocol/media/MediaRebootProtocol.java | 16 +- .../protocol/media/MediaRegisterProtocol.java | 4 +- .../protocol/media/MediaShutdownProtocol.java | 16 +- .../MediaTransportWebRtcCreateProtocol.java | 57 ++++++- .../platform/PlatformRebootProtocol.java | 14 +- .../platform/PlatformScriptProtocol.java | 2 +- .../platform/PlatformShutdownProtocol.java | 21 ++- .../protocol/room/RoomCreateProtocol.java | 2 +- .../protocol/room/RoomEnterProtocol.java | 2 +- .../protocol/system/SystemRebootProtocol.java | 14 +- .../system/SystemShutdownProtocol.java | 14 +- .../signal/service/SecurityService.java | 3 + .../service/UsernamePasswordService.java | 20 +++ .../service/impl/SecurityServiceImpl.java | 23 +-- .../wrapper/WebrtcPropertiesWrapper.java | 79 ++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + 103 files changed, 1056 insertions(+), 250 deletions(-) rename {taoyao-client-android => taoyao-client-harmony}/libmediasoupclient (100%) rename {taoyao-media-server => taoyao-client-media}/README.md (100%) rename {taoyao-media-server => taoyao-client-media}/ecosystem.config.cluster.json (87%) rename {taoyao-media-server => taoyao-client-media}/ecosystem.config.json (84%) create mode 160000 taoyao-client-media/mediasoup rename {taoyao-media-server => taoyao-client-media}/package.json (67%) rename {taoyao-media-server => taoyao-client-media}/src/Config.js (99%) rename {taoyao-media-server => taoyao-client-media}/src/Server.js (100%) rename {taoyao-media-server => taoyao-client-media}/src/Signal.js (100%) rename {taoyao-media-server => taoyao-client-media}/src/certs/privateKey.pem (100%) rename {taoyao-media-server => taoyao-client-media}/src/certs/publicKey.pem (100%) rename {taoyao-media-server => taoyao-client-media}/src/index.html (78%) delete mode 160000 taoyao-media-server/mediasoup rename taoyao-signal-server/docs/assembly/{release.xml => prd.xml} (98%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/Constant.java (89%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/IdProperties.java (93%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/MediaAudioProperties.java (94%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/MediaProperties.java (96%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/MediaServerProperties.java (85%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/MediaVideoProperties.java (97%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/ScriptProperties.java (96%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/SecurityProperties.java (88%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/SocketProperties.java (97%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/TaoyaoProperties.java (86%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/WebrtcProperties.java (92%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/WebrtcStunProperties.java (83%) rename taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/{property => config}/WebrtcTurnProperties.java (85%) create mode 100644 taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/runner/OrderedCommandLineRunner.java create mode 100644 taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/service/IpService.java create mode 100644 taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/service/impl/IpServiceImpl.java create mode 100644 taoyao-signal-server/taoyao-server/src/main/java/com/acgist/taoyao/controller/ControlController.java delete mode 100644 taoyao-signal-server/taoyao-server/src/main/resources/application-local.yml rename taoyao-signal-server/taoyao-server/src/main/resources/{application-release.yml => application-prd.yml} (100%) rename taoyao-signal-server/taoyao-server/src/test/java/com/acgist/taoyao/{boot => }/service/IdServiceTest.java (90%) create mode 100644 taoyao-signal-server/taoyao-server/src/test/java/com/acgist/taoyao/service/IpServiceTest.java create mode 100644 taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/client/ClientType.java create mode 100644 taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/configuration/SignalAutoConfiguration.java create mode 100644 taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/ControlProtocol.java create mode 100644 taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientShutdownProtocol.java create mode 100644 taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientWakeupProtocol.java create mode 100644 taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/service/UsernamePasswordService.java create mode 100644 taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/wrapper/WebrtcPropertiesWrapper.java diff --git a/.gitmodules b/.gitmodules index c7786e4..826c608 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,12 +1,12 @@ -[submodule "taoyao-media-server/mediasoup"] - path = taoyao-media-server/mediasoup +[submodule "taoyao-client-media/mediasoup"] + path = taoyao-client-media/mediasoup url = https://gitee.com/acgist/mediasoup.git branch = taoyao [submodule "taoyao-client-web/mediasoup-client"] path = taoyao-client-web/mediasoup-client url = https://gitee.com/acgist/mediasoup-client.git branch = taoyao -[submodule "taoyao-client-android/libmediasoupclient"] - path = taoyao-client-android/libmediasoupclient +[submodule "taoyao-client-harmony/libmediasoupclient"] + path = taoyao-client-harmony/libmediasoupclient url = https://gitee.com/acgist/libmediasoupclient.git branch = taoyao \ No newline at end of file diff --git a/README.md b/README.md index ceb9535..7d358e5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 桃夭 -桃夭是套基于`Mediasoup`开发的`WebRTC`音视频信令服务 +桃夭是套基于`Mediasoup`开发的`WebRTC`音视频信令服务,可以扩展其他智能终端接入。
@@ -20,10 +20,10 @@
|模块|名称|描述|
|:--|:--|:--|
-|taoyao-client-web|终端示例|Web终端示例|
-|taoyao-client-android|终端示例|安卓终端示例|
-|taoyao-media-server|媒体服务|媒体服务|
-|taoyao-signal-server|信令服务|信令服务|
+|taoyao-client-web|Web终端|提供前端控制页面|
+|taoyao-client-media|媒体服务|提供音视频接入服务|
+|taoyao-client-harmony|鸿蒙终端|鸿蒙智能终端接入|
+|taoyao-signal-server|信令服务|终端信令控制|
> 注意:只有Web实现完成信令控制
diff --git a/docs/Deploy.md b/docs/Deploy.md
index 107f849..2aa9653 100644
--- a/docs/Deploy.md
+++ b/docs/Deploy.md
@@ -239,7 +239,7 @@ trusted-host = mirrors.aliyun.com
pip config list
# 编译代码
-cd /data/taoyao/taoyao-media-server
+cd /data/taoyao/taoyao-client-media
git submodule update --remote
cd modulesup
git checkout taoyao
@@ -247,7 +247,7 @@ cd ..
npm install
# 配置服务
-pm2 start npm --name "taoyao-media-server" -- run dev | release
+pm2 start npm --name "taoyao-client-media" -- run dev | prd
pm2 save
# 配置ecosystem
@@ -256,7 +256,7 @@ pm2 start | reload ecosystem.config.json
pm2 save
# 管理服务
-pm2 start | stop | restart taoyao-media-server
+pm2 start | stop | restart taoyao-client-media
```
### Mediasoup单独编译
@@ -266,7 +266,7 @@ pm2 start | stop | restart taoyao-media-server
```
# 编译代码
# make -C worker
-cd /data/taoyao/taoyao-media-server/mediasoup/worker
+cd /data/taoyao/taoyao-client-media/mediasoup/worker
make
# 清理结果
@@ -285,7 +285,7 @@ make clean
# 编译代码
cd /data/taoyao/taoyao-signal-server
mvn clean package -D skipTests
-#mvn clean package -D skipTests -P release
+#mvn clean package -D skipTests -P prd
# 拷贝脚本
cp taoyao-server/target/taoyao-server-1.0.0/bin/deploy.sh ./
diff --git a/taoyao-client-android/libmediasoupclient b/taoyao-client-harmony/libmediasoupclient
similarity index 100%
rename from taoyao-client-android/libmediasoupclient
rename to taoyao-client-harmony/libmediasoupclient
diff --git a/taoyao-media-server/README.md b/taoyao-client-media/README.md
similarity index 100%
rename from taoyao-media-server/README.md
rename to taoyao-client-media/README.md
diff --git a/taoyao-media-server/ecosystem.config.cluster.json b/taoyao-client-media/ecosystem.config.cluster.json
similarity index 87%
rename from taoyao-media-server/ecosystem.config.cluster.json
rename to taoyao-client-media/ecosystem.config.cluster.json
index ebf2818..2895b1d 100644
--- a/taoyao-media-server/ecosystem.config.cluster.json
+++ b/taoyao-client-media/ecosystem.config.cluster.json
@@ -2,7 +2,7 @@
"apps": [
{
"cwd": "./",
- "name": "taoyao-media-server",
+ "name": "taoyao-client-media",
"script": "src/Server.js",
"instances": 2,
"exec_mode": "cluster",
diff --git a/taoyao-media-server/ecosystem.config.json b/taoyao-client-media/ecosystem.config.json
similarity index 84%
rename from taoyao-media-server/ecosystem.config.json
rename to taoyao-client-media/ecosystem.config.json
index 7c82d86..c9f3fc3 100644
--- a/taoyao-media-server/ecosystem.config.json
+++ b/taoyao-client-media/ecosystem.config.json
@@ -2,7 +2,7 @@
"apps": [
{
"cwd": "./",
- "name": "taoyao-media-server",
+ "name": "taoyao-client-media",
"script": "src/Server.js",
"out_file": "./logs/out.log",
"error_file": "./logs/error.log",
diff --git a/taoyao-client-media/mediasoup b/taoyao-client-media/mediasoup
new file mode 160000
index 0000000..f02edc6
--- /dev/null
+++ b/taoyao-client-media/mediasoup
@@ -0,0 +1 @@
+Subproject commit f02edc62e764b061917cbd215528db62e27fc9bd
diff --git a/taoyao-media-server/package.json b/taoyao-client-media/package.json
similarity index 67%
rename from taoyao-media-server/package.json
rename to taoyao-client-media/package.json
index 3d052ef..6a6159a 100644
--- a/taoyao-media-server/package.json
+++ b/taoyao-client-media/package.json
@@ -1,12 +1,12 @@
{
- "name": "taoyao-media-server",
+ "name": "taoyao-client-media",
"author": "acgist",
"version": "1.0.0",
"private": true,
- "description": "taoyao media server",
+ "description": "taoyao client media",
"scripts": {
"dev": "node src/Server.js",
- "release": "node src/Server.js"
+ "prd": "node src/Server.js"
},
"dependencies": {
"ws": "^8.12.0",
diff --git a/taoyao-media-server/src/Config.js b/taoyao-client-media/src/Config.js
similarity index 99%
rename from taoyao-media-server/src/Config.js
rename to taoyao-client-media/src/Config.js
index fea3c71..6b5bfb2 100644
--- a/taoyao-media-server/src/Config.js
+++ b/taoyao-client-media/src/Config.js
@@ -5,7 +5,7 @@ const os = require("os");
*/
module.exports = {
// 服务名称
- name: "taoyao-media-server",
+ name: "taoyao-client-media",
// 服务版本
version: "1.0.0",
// 欢迎页面
diff --git a/taoyao-media-server/src/Server.js b/taoyao-client-media/src/Server.js
similarity index 100%
rename from taoyao-media-server/src/Server.js
rename to taoyao-client-media/src/Server.js
diff --git a/taoyao-media-server/src/Signal.js b/taoyao-client-media/src/Signal.js
similarity index 100%
rename from taoyao-media-server/src/Signal.js
rename to taoyao-client-media/src/Signal.js
diff --git a/taoyao-media-server/src/certs/privateKey.pem b/taoyao-client-media/src/certs/privateKey.pem
similarity index 100%
rename from taoyao-media-server/src/certs/privateKey.pem
rename to taoyao-client-media/src/certs/privateKey.pem
diff --git a/taoyao-media-server/src/certs/publicKey.pem b/taoyao-client-media/src/certs/publicKey.pem
similarity index 100%
rename from taoyao-media-server/src/certs/publicKey.pem
rename to taoyao-client-media/src/certs/publicKey.pem
diff --git a/taoyao-media-server/src/index.html b/taoyao-client-media/src/index.html
similarity index 78%
rename from taoyao-media-server/src/index.html
rename to taoyao-client-media/src/index.html
index bcb89ca..0fbe2cb 100644
--- a/taoyao-media-server/src/index.html
+++ b/taoyao-client-media/src/index.html
@@ -9,7 +9,7 @@