MeetNexus
当前阶段
MeetNexus 已完工。项目完成了房间管理、实时成员事件、音视频发布与订阅、屏幕共享、主持人录制及受保护的 DASH 回放,并以本机独立运行的 Live777 提供 WebRTC SFU 能力。
基本信息
| 项目 | 详情 |
|---|---|
| 项目名称 | MeetNexus |
| 小组名称 | MeetNexus |
| 项目方向 | WebRTC / 实时通信 / 全栈开发 |
| 项目周期 | 2026 年 7 月—8 月 |
| 当前阶段 | 已完工 |
小组成员
| 姓名 | 角色 | GitHub |
|---|---|---|
| 吴南江 | 组长 | @HyperPress |
| 张祥昀 | 组员 | @zxy-coder1089 |
| 刘家敏 | 组员 | @benja99999 |
项目简介
MeetNexus 是一款基于 Live777 的多人视频会议软件。React/TypeScript 前端提供中文会议界面与浏览器媒体控制;Rust/Axum 后端负责房间业务、成员鉴权、实时事件、媒体代理和录制任务;PostgreSQL 与 Redis 分别保存持久数据和在线临时状态。
浏览器只访问 MeetNexus 同源接口。后端校验房间成员 JWT 后,将 WHIP/WHEP 协商转发给独立运行的 Live777,避免向浏览器暴露媒体服务地址和 Token。
核心功能
- 创建、查询、加入和离开会议,使用九位短会议号邀请参会者
- 通过受保护的 WebSocket 实时同步成员与媒体发布状态
- 摄像头、麦克风和屏幕共享的独立发布、订阅与资源回收
- 网络中断后的媒体重新协商与远端画面恢复
- 主持人按成员启动、停止录制并查看录制状态
- 使用原生 MediaSource 播放受成员令牌保护的 DASH 录制文件
/health与/ready分别提供存活和依赖就绪探测
技术栈
| 层次 | 技术 |
|---|---|
| Web | React、TypeScript、Vite、Tailwind CSS、daisyUI、Zod |
| API | Rust、Axum、Tokio、SQLx、tracing |
| 数据 | PostgreSQL、Redis(Windows 本机使用 Memurai) |
| 媒体 | Live777、WebRTC、WHIP、WHEP、DASH |
| 契约与测试 | OpenAPI、Rust 单元/集成测试、Playwright |
系统架构

text
浏览器 ── REST / WebSocket ──> Axum API ──> PostgreSQL / Redis
浏览器 ── WHIP / WHEP ───────> Axum 鉴权代理 ──> Live777
└──> DASH 录制文件项目截图

项目亮点
- Live777 独立运行,业务 API 与媒体转发职责清晰
- OpenAPI 是唯一接口契约,前端使用 Zod 校验真实响应
- 房间成员令牌绑定房间和成员,媒体凭据不进入前端代码或 URL
- 主媒体与屏幕共享使用独立流和会话,互不覆盖
- Rust、TypeScript 和 Playwright 共同覆盖格式、静态检查与关键流程
- 所有服务直接运行在开发机上,提供可复现的本机启动脚本和验收清单
代码与文档
完工说明
项目功能、文档和自动化测试均已完成。实体摄像头、麦克风、扬声器和双浏览器环境下的额外人工体验验收作为后续维护建议,不影响本期项目完工状态。