MCPcopy Index your code
hub / github.com/acgist/taoyao

github.com/acgist/taoyao @1.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.1.0 ↗ · + Follow
3,935 symbols 10,455 edges 445 files 1,549 documented · 39%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

桃夭

桃夭是套基于Mediasoup开发的WebRTC音视频信令服务,可以非常方便的扩展信令接入更多智能终端。

<img alt="Java" src="https://img.shields.io/badge/dynamic/xml?style=flat-square&label=Java&color=blueviolet&url=https://raw.githubusercontent.com/acgist/taoyao/master/taoyao-signal-server/pom.xml&query=//*[local-name()=%27java.version%27]&cacheSeconds=3600" />
<a target="_blank" href="https://starchart.cc/acgist/taoyao">
    <img alt="GitHub stars" src="https://img.shields.io/github/stars/acgist/taoyao?style=flat-square&label=Github%20stars&color=crimson" />
</a>
<img alt="Gitee stars" src="https://img.shields.io/badge/dynamic/json?style=flat-square&label=Gitee%20stars&color=crimson&url=https://gitee.com/api/v5/repos/acgist/taoyao&query=$.stargazers_count&cacheSeconds=3600" />



<img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/acgist/taoyao/build.yml?style=flat-square&branch=master" />
<img alt="GitHub release (latest by date)" src="https://img.shields.io/github/v/release/acgist/taoyao?style=flat-square&color=orange" />
<img alt="GitHub code size in bytes" src="https://img.shields.io/github/languages/code-size/acgist/taoyao?style=flat-square&color=blue" />
<img alt="GitHub" src="https://img.shields.io/github/license/acgist/taoyao?style=flat-square&color=blue" />

模块

模块 名称 描述
taoyao-client-web H5终端 浏览器终端
taoyao-client-media 媒体终端 媒体服务
taoyao-client-android 安卓终端 安卓终端
taoyao-signal-server 信令服务 终端信令控制

Web终端功能

功能 是否支持 是否实现 描述
P2P 支持 完成 视频会话(监控模式)
Mediasoup 支持 完成 视频房间(会议模式)
控制 支持 完成 完整控制信令
拍照 支持 完成 拍照
录像 支持 完成 录像

Media终端功能

功能 是否支持 是否实现 描述
Mediasoup 支持 完成 视频房间(会议模式)
控制 支持 完成 部分控制信令
拍照 支持 完成 拍照
录像 支持 完成 录像

Android终端功能

功能 是否支持 是否实现 描述
P2P 支持 完成 视频会话(监控模式)
Mediasoup 支持 完成 视频房间(会议模式)
控制 支持 完成 部分控制信令
拍照 支持 完成 拍照
录像 支持 完成 录像
混音 支持 完成 多路混音
水印 支持 完成 视频水印

注意事项

  • Web终端不支持同时进入多个视频房间,Android终端支持。
  • Media终端只支持录像之后自动生成预览图片,不支持视频直接拍照。
  • Media终端只支持视频房间(会议模式)录像,视频会话(监控模式)不支持。

信令

现有信令

Docker

acgist/taoyao-client-web
acgist/taoyao-client-media
acgist/taoyao-signal-server

证书

本地开发测试安装docs/certs中的ca.crt证书到受信任的根证书颁发机构

文档

终端预览

Web终端 Android终端

Extension points exported contracts — how you extend this code

IControlWakeupProtocol (Interface)
终端唤醒信令接口 @author acgist [80 implementers]
taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlWakeupProtocol.java
BlockingOperation (Interface)
Utility interface to be used with executeUninterruptibly() to wait for blocking operations to complete without getting i [23 …
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/ThreadUtils.java
OrderedCommandLineRunner (Interface)
Ordered + CommandLineRunner @author acgist [2 implementers]
taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/runner/OrderedCommandLineRunner.java
IControlBellProtocol (Interface)
响铃信令接口 @author acgist [80 implementers]
taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlBellProtocol.java
VideoDecoderFactory (Interface)
Factory for creating VideoDecoders. [6 implementers]
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/VideoDecoderFactory.java
IdService (Interface)
生成ID服务 @author acgist [2 implementers]
taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/service/IdService.java
IControlConfigAudioProtocol (Interface)
配置音频信令 @author acgist [80 implementers]
taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlConfigAudioProtocol.java
VideoSink (Interface)
Java version of rtc::VideoSinkInterface. [15 implementers]
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/VideoSink.java

Core symbols most depended-on inside this repo

d
called by 308
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/Logging.java
get
called by 200
taoyao-client-android/taoyao/boot/src/main/java/com/acgist/taoyao/boot/utils/MapUtils.java
e
called by 141
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/Logging.java
buildMessage
called by 106
taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/signal/ITaoyao.java
close
called by 91
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/FileVideoCapturer.java
push
called by 90
taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/client/Client.java
equals
called by 86
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/Size.java
w
called by 83
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/Logging.java

Shape

Method 3,283
Class 459
Interface 97
Enum 60
Function 36

Languages

Java92%
TypeScript6%
C++2%

Modules by API surface

taoyao-client-android/taoyao/media/src/main/java/org/webrtc/PeerConnection.java182 symbols
taoyao-client-web/src/components/Taoyao.js177 symbols
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/PeerConnectionFactory.java84 symbols
taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/MediaManager.java69 symbols
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/audio/JavaAudioDeviceModule.java60 symbols
taoyao-client-media/src/Taoyao.js59 symbols
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/NetworkMonitorAutoDetect.java56 symbols
taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/signal/Taoyao.java51 symbols
taoyao-client-android/taoyao/media/src/main/cpp/webrtc/Room.cpp49 symbols
taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/client/Room.java44 symbols
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/voiceengine/WebRtcAudioTrack.java43 symbols
taoyao-client-android/taoyao/media/src/main/java/org/webrtc/EglRenderer.java42 symbols

For agents

$ claude mcp add taoyao \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact