# 基于WenRtc的聊天室 **Repository Path**: muchis/webrtcsync ## Basic Information - **Project Name**: 基于WenRtc的聊天室 - **Description**: 基于WebRTC技术的实时聊天室项目,支持文件传输、消息传输、屏幕共享,适用于局域网在线文件传输、交流场景。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-31 - **Last Updated**: 2025-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WebRTCSync WebRTCSync 是一个基于 WebRTC 技术的实时通信项目,旨在提供高效的点对点数据传输能力。该项目支持实时音视频通信、文件传输、屏幕共享等功能,适用于需要低延迟和高质量实时通信的应用场景。 ## 功能特性 - **实时通信**:基于 WebRTC 实现高效的点对点音视频通信。 - **文件传输**:支持通过 WebRTC 数据通道进行文件传输,具备断点续传和多线程传输能力。 - **屏幕共享**:允许用户共享屏幕内容,适用于远程协作和演示场景。 - **聊天功能**:集成实时聊天功能,支持文本消息和文件共享。 - **自适应传输控制**:根据网络状况动态调整传输策略,优化传输效率。 - **跨平台支持**:基于 Web 技术实现,支持主流浏览器和操作系统。 ## 安装与部署 ### 环境要求 - Python 3.8+ - Node.js (用于前端构建) - Redis (用于消息队列) - TURN/STUN 服务器 (可选,用于 NAT 穿透) ### 安装步骤 1. **克隆仓库**: ```bash git clone https://gitee.com/top-yun/webrtcsync.git cd webrtcsync ``` 2. **安装依赖**: ```bash pip install -r requirements.txt ``` 3. **配置环境变量**: ```bash cp .env.example .env ``` 根据需要修改 `.env` 文件中的配置,例如 STUN/TURN 服务器地址等。 4. **启动服务**: ```bash python run/start_server.py ``` 5. **访问 Web 界面**: 打开浏览器,访问 `http://localhost:8000`,即可使用 WebRTCSync。 ## 使用说明 - **创建房间**:访问首页后,点击“创建房间”按钮,系统将生成一个唯一的房间代码。 - **加入房间**:将房间代码分享给其他用户,他们可以通过输入房间代码加入房间。 - **实时通信**:在房间内,用户可以进行音视频通话、屏幕共享、文件传输和实时聊天。 - **查看房间信息**:通过 `/room-info/{code}` 接口可以获取房间的当前状态和成员信息。 ## API 文档 ### 创建房间 ```http POST /create-room ``` 创建一个新的通信房间,并返回房间代码。 ### 获取房间信息 ```http GET /room-info/{code} ``` 获取指定房间的详细信息,包括成员列表和房间状态。 ### WebSocket 通信 ```http GET /ws/{code} ``` 通过 WebSocket 建立与房间的实时通信连接,用于音视频流和数据传输。 ### 获取 ICE 服务器配置 ```http GET /ice-servers ``` 获取 STUN/TURN 服务器配置信息,用于 WebRTC 连接建立。 ## 贡献指南 欢迎贡献代码和改进文档。请遵循以下步骤: 1. Fork 仓库并创建新分支。 2. 提交代码更改。 3. 编写清晰的提交信息。 4. 提交 Pull Request 并等待审核。 ## 许可证 该项目采用 MIT 许可证。详情请参阅 [LICENSE](LICENSE) 文件。