[+] 终端
This commit is contained in:
88
README.md
88
README.md
@@ -1,14 +1,18 @@
|
||||
# 桃夭
|
||||
|
||||
基于WebRTC实现信令服务,实现Mesh、MCU和SFU三种媒体通信架构,支持直播会议两种场景。
|
||||
项目提供WebRTC服务信令,终端已有H5示例,其他终端需要自己实现。
|
||||
|
||||
## 授权
|
||||
|
||||
开源公益免费,商用需要购买授权。
|
||||
|
||||
## 模块
|
||||
|
||||
|模块|名称|描述|
|
||||
|:--|:--|:--|
|
||||
|taoyao|桃夭|桃之夭夭灼灼其华|
|
||||
|taoyao-nat|内网穿透|STUN/TURN|
|
||||
|taoyao-boot|基础|启动模块|
|
||||
|taoyao-boot|启动模块|基础模块|
|
||||
|taoyao-live|直播|直播、连麦|
|
||||
|taoyao-test|测试|测试工具|
|
||||
|taoyao-media|媒体|录制、视频(美颜、AI识别)、音频(混音、变声、降噪)|
|
||||
@@ -16,12 +20,41 @@
|
||||
|taoyao-server|服务|启动服务|
|
||||
|taoyao-meeting|会议|会议模式、广播模式、单人对讲|
|
||||
|taoyao-webrtc|WebRTC模块|WebRTC模块|
|
||||
|taoyao-webrtc-jni|WebRTC JNI|WebRTC本地接口|
|
||||
|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实现|
|
||||
|
||||
## STUN/TURN公共服务
|
||||
> 终端负责推流,服务端负责处理媒体流,这些功能也可以在终端实现。主次码流没在终端实现,服务端实现可以有更多选择。
|
||||
|
||||
## 模块关系
|
||||
|
||||
```
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| taoyao-server |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| taoyao-live | taoyao-meeting |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| taoyao-signal |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| taoyao-media |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| taoyao-mcu | taoyao-sfu | |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ taoyao-mesh +
|
||||
| taoyao-jitsi | taoyao-kurento | |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| taoyao-boot |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
```
|
||||
|
||||
## 内网穿透
|
||||
|
||||
请用公共STUN/TURN服务或者自行搭建coturn服务。
|
||||
|
||||
> 只有公网Mesh架构才需要真正的内网穿透
|
||||
|
||||
### STUN/TURN公共服务地址
|
||||
|
||||
```
|
||||
stun:stun1.l.google.com:19302
|
||||
@@ -33,20 +66,35 @@ stun:stun.stunprotocol.org:3478
|
||||
|
||||
## 信令
|
||||
|
||||
|功能|描述|
|
||||
|:--|:--|
|
||||
|注册|终端注册(同步信息)|
|
||||
|关闭|终端关闭(注销)|
|
||||
|心跳|终端心跳|
|
||||
|进入会议|没有会议自动创建|
|
||||
|离开会议|离开会议|
|
||||
|关闭会议|关闭会议(所有人员离开)|
|
||||
|邀请终端|会议邀请终端|
|
||||
|踢出终端|会议踢出终端|
|
||||
|推流|控制终端推流|
|
||||
|暂停推流|控制终端暂停推流|
|
||||
|订阅(分流)|控制终端暂停推流|
|
||||
|暂停订阅(分流)|控制终端暂停推流|
|
||||
|功能|描述|标识|响应|
|
||||
|:--|:--|:--|:--|
|
||||
|注册|终端注册(同步信息)|||
|
||||
|关闭|终端关闭(注销)|||
|
||||
|心跳|终端心跳|||
|
||||
|创建会议|创建会议||返回会议ID|
|
||||
|进入会议|没有会议自动创建||返回会议终端同时广播进入消息|
|
||||
|离开会议|离开会议||广播离开消息|
|
||||
|关闭会议|关闭会议(踢出所有人员)||广播关闭消息|
|
||||
|终端列表|||返回所有终端列表|
|
||||
|会议终端列表|||返回所有会议终端列表|
|
||||
|直播终端列表|||返回所有直播终端列表|
|
||||
|邀请终端|会议邀请终端(主动/被动)||单播邀请|
|
||||
|踢出终端|会议踢出终端||单播踢出|
|
||||
|开启直播||||
|
||||
|关闭直播||||
|
||||
|发布|控制终端推流|||
|
||||
|取消发布|控制终端暂停推流|||
|
||||
|订阅|订阅终端媒体流|||
|
||||
|取消订阅|取消订阅终端媒体流|||
|
||||
|暂停媒体流|暂停终端媒体流分流(不关媒体流通道)|||
|
||||
|恢复媒体流|恢复终端媒体流分流(不关媒体流通道)|||
|
||||
|开启录像||||
|
||||
|关闭录像||||
|
||||
|终端状态||||
|
||||
|单播消息|发送指定终端|||
|
||||
|广播消息|广播排除自己的所有终端|||
|
||||
|全员广播消息|广播包括自己的所有终端|||
|
||||
|异常|异常信息|||
|
||||
|
||||
## 直播
|
||||
|
||||
@@ -58,6 +106,8 @@ stun:stun.stunprotocol.org:3478
|
||||
|
||||
流媒体点对点连接,不经过服务端。
|
||||
|
||||
> 录制、AI识别等等功能只能在终端实现。
|
||||
|
||||
### MCU
|
||||
|
||||
终端推流到服务端,由服务端分流并且混音。
|
||||
@@ -70,4 +120,4 @@ stun:stun.stunprotocol.org:3478
|
||||
|
||||
```
|
||||
keytool -genkeypair -keyalg RSA -dname "CN=localhost, OU=acgist, O=taoyao, L=GZ, ST=GD, C=CN" -alias taoyao -validity 3650 -ext ku:c=dig,keyE -ext eku=serverAuth -ext SAN=dns:localhost,ip:127.0.0.1 -keystore taoyao.jks -keypass 123456 -storepass 123456
|
||||
```
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user