# livekit-demo **Repository Path**: DaFengChe856/livekit-demo ## Basic Information - **Project Name**: livekit-demo - **Description**: livekit-demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LiveKit 双向语音通信系统 基于 LiveKit 的实时双向语音通信系统,实现 Web 端与机器狗端之间的语音对讲。 ## 系统架构 ``` Web端 (Vue 3) ←→ LiveKit Server ←→ 机器狗端 (Python) ↑ 信令服务器 (Node.js) - Token 生成 - 房间管理 ``` | 模块 | 技术栈 | 说明 | |------|--------|------| | Web 端 | Vue 3 + TypeScript + livekit-client | 浏览器端语音采集与播放 | | 信令服务器 | Node.js + Express + livekit-server-sdk | Token 生成 & 房间管理 | | 机器狗端 | Python + livekit SDK | 设备端语音采集与播放 | | LiveKit Server | livekit-server (Docker) | WebRTC SFU 音视频路由 | ## 目录结构 ``` ├── signaling-server/ # 信令服务器 │ ├── src/ │ │ ├── index.ts │ │ ├── config.ts │ │ └── routes/ │ │ ├── token.ts │ │ └── rooms.ts │ ├── .env.example │ └── package.json ├── web-client/ # Web 端 │ ├── src/ │ │ ├── App.vue │ │ ├── composables/ │ │ ├── components/ │ │ └── services/ │ └── package.json ├── robot-dog/ # 机器狗端 │ ├── main.py │ ├── room_client.py │ ├── audio_publisher.py │ ├── audio_player.py │ └── requirements.txt └── docs/ └── system-design.md # 系统设计文档 ``` ## 快速开始 ### 前置条件 - [Node.js](https://nodejs.org/) 18+ - [Python](https://www.python.org/) 3.11+ - [Docker](https://www.docker.com/)(用于运行 LiveKit Server) ### 1. 启动 LiveKit Server ```bash # 使用 Docker 启动 docker run -d \ --name livekit \ -p 7880:7880 \ -p 50000-60000:50000-60000/udp \ livekit/livekit-server \ --dev ``` ### 2. 启动信令服务器 ```bash cd signaling-server # 安装依赖 npm install # 复制并编辑配置文件 cp .env.example .env # 编辑 .env 填入 LIVEKIT_API_KEY 和 LIVEKIT_API_SECRET # 启动 npm run dev # 运行在 http://localhost:3000 ``` ### 3. 启动 Web 端 ```bash cd web-client # 安装依赖 npm install # 启动 npm run dev # 运行在 http://localhost:5173 ``` ### 4. 启动机器狗端 ```bash cd robot-dog # 安装依赖 pip install -r requirements.txt # 复制配置文件 cp .env.example .env # 启动 python main.py --room test-room --identity robot-dog ``` ## 局域网测试 如需从其他设备访问,需做以下配置: 1. **信令服务器**:已监听 `0.0.0.0`,直接用 IP 访问 2. **Web 端**:Vite 已配置 `host: '0.0.0.0'` 3. **机器狗端**:修改 `.env` 中的地址为本机局域网 IP ```env # robot-dog/.env SIGNALING_SERVER_URL=http://<你的IP>:3000 LIVEKIT_HOST=ws://<你的IP>:7880 ``` ## API 接口 ### 信令服务器 | 接口 | 方法 | 说明 | |------|------|------| | `/api/token` | POST | 获取 LiveKit Token | | `/api/rooms` | GET | 列出所有房间 | | `/api/rooms/:name` | POST | 创建房间 | | `/api/rooms/:name` | DELETE | 删除房间 | | `/health` | GET | 健康检查 | ## 设计文档 详细的系统架构设计、流程图见 [docs/system-design.md](docs/system-design.md)