桃夭

基于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
桃夭是套基于Mediasoup开发的WebRTC音视频信令服务,可以非常方便的扩展信令接入更多智能终端。
Readme Apache-2.0 21 MiB
Languages
Java 85.6%
JavaScript 8.9%
C++ 2.6%
CSS 1.3%
Vue 1.2%
Other 0.3%