| .. | ||
| client | ||
| node_modules | ||
| server | ||
| .env | ||
| .env.example | ||
| Dockerfile | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
直播系统
基于 SRS 的个人直播系统,支持 RTMP 推流和 HTTP-FLV/HLS 播放。
快速开始
1. 安装依赖
# 后端依赖
npm install
# 前端依赖
cd client && npm install
2. 启动服务
方式一:Docker 部署(推荐)
docker-compose up -d
方式二:本地开发
# 终端1: 启动 SRS (需要先安装 Docker)
docker run -d -p 1935:1935 -p 8080:8080 ossrs/srs:5
# 终端2: 启动 API 服务
npm run dev
# 终端3: 启动前端
cd client && npm start
3. 访问系统
- 前端界面: http://localhost:3000
- API 服务: http://localhost:3001
使用方法
主播开播
- 打开 http://localhost:3000
- 点击"开始直播",填写直播间信息
- 复制推流地址和密钥
- 打开 OBS,设置 → 推流:
- 服务: 自定义
- 服务器:
rtmp://localhost:1935/live - 推流密钥: 复制的密钥
- 点击"开始推流"
观众观看
- 打开 http://localhost:3000
- 点击想看的直播间
- 自动播放(优先使用低延迟的 HTTP-FLV)
技术栈
- 流媒体服务器: SRS 5.0
- 后端: Node.js + Express
- 前端: React 18 + flv.js + hls.js
- 容器化: Docker
端口说明
| 端口 | 服务 |
|---|---|
| 1935 | RTMP 推流 |
| 8080 | HTTP-FLV/HLS 播放 |
| 3001 | API 服务 |
| 3000 | 前端界面 |