46130cc15bae014cc7b895e847919c064a5a7091
桃夭
基于WebRTC实现信令服务,实现Mesh、MCU和SFU三种媒体通信架构,支持直播会议两种场景。 项目提供WebRTC服务信令,终端已有H5示例,其他终端需要自己实现。
模块
| 模块 | 名称 | 描述 |
|---|---|---|
| taoyao | 桃夭 | 桃之夭夭灼灼其华 |
| taoyao-boot | 基础模块 | 基础模块 |
| taoyao-live | 直播 | 直播、连麦 |
| taoyao-test | 测试 | 测试工具 |
| taoyao-media | 媒体 | 录制、视频(水印、美颜、AI识别)、音频(降噪、混音、变声) |
| taoyao-signal | 信令 | 信令服务 |
| taoyao-server | 启动服务 | 启动服务 |
| taoyao-meeting | 会议 | 会议模式、广播模式、单人对讲 |
| taoyao-webrtc | WebRTC模块 | 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实现 |
终端负责推流,服务端负责处理媒体流,这些功能也可以在终端实现。主次码流没在终端实现,服务端实现可以有更多选择。
模块关系
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-server |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-live | taoyao-meeting |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-media |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-mcu / taoyao-sfu | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ taoyao-mesh +
| taoyao-jitsi / taoyao-kurento | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-signal |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-boot |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
视频
直播
终端推流到服务端,由服务端分流。
会议
Mesh
流媒体点对点连接,不经过服务端。 Mesh架构声音视频控制部分功能均在终端实现,同时不会实现录制、美颜、变声、混音等等功能。
需要使用STUN/TURN实现内网穿透(可以自己搭建coturn服务)
MCU
终端推流到服务端,由服务端混音分流。
SFU
终端推流到服务端,由服务端直接分流。
Description
Languages
Java
85.6%
JavaScript
8.9%
C++
2.6%
CSS
1.3%
Vue
1.2%
Other
0.3%