6c76c8d9a38c27204c57d1db5130173bb1a86e92
桃夭
基于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 | SFU架构 | SFU架构 |
| taoyao-webrtc-mcu | MCU架构 | MCU架构 |
| taoyao-webrtc-mesh | MESH架构 | MESH架构 |
| taoyao-webrtc-kurento | kurento框架 | WebRTC协议簇kurento实现 |
模块关系
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-server |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-live | taoyao-meeting |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-media |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-sfu / taoyao-mcu | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ taoyao-mesh +
| taoyao-kurento | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-signal |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| taoyao-boot |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
综合比较jitsi|kurento两个框架最后选择kurento
架构比较
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%