- 直播流录制(RTMP/HLS 拉流)
- 录像在线点播播放
- 定时录制任务
- 后端:FastAPI + SQLite
- 前端:Vue 3 + Element Plus
- 流媒体:FFmpeg + nginx-vod-module
- Python 3.10+
- Node.js 16+
- FFmpeg(用于录制功能)
cd backend
python -m venv venvWindows:
venv\Scripts\activateLinux/Mac:
source venv/bin/activatepip install -r requirements.txt# 复制环境变量模板
copy .env.example .env
# 编辑 .env 文件,修改配置(如数据库路径、管理员密码等)cd backend && venv\Scripts\activate
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000后端服务将运行在 http://localhost:8000
- API 文档:
http://localhost:8000/docs - 健康检查:
http://localhost:8000/api/health
deactivatecd frontend
npm installnpm run dev前端开发服务器将运行在 http://localhost:5173
npm run build- 数据库:默认使用 SQLite,数据库文件位于
backend/data/db/mediastack.db - 录制文件存储:默认存储在
backend/data/videos/目录 - 点播播放:本地开发环境不需要 nginx-vod-module,可以直接测试录制功能
- 默认管理员账号:用户名
admin,密码admin123(可通过环境变量修改)
# 构建所有镜像
docker compose -f docker-compose.build.yml build
# 仅构建 backend 镜像
docker compose -f docker-compose.build.yml build backend
# 仅构建 nginx 镜像
docker compose -f docker-compose.build.yml build nginxcd frontend
npm install
npm run build
cd ..# Linux/Mac
cp .env.example .env
# Windows
copy .env.example .env
# 编辑 .env 设置安全的密钥和密码docker compose up -d- 访问地址:http://localhost
- 默认管理员账号:用户名
admin,密码admin123
- docker-compose.build.yml:用于镜像构建
- docker-compose.yml:用于服务启动(使用预构建镜像)
Backend 代码修改:
- 代码通过 volume 挂载,修改后直接重启即可
docker compose restart backendBackend 依赖变化(requirements.txt):
- 需要重新构建镜像
docker compose -f docker-compose.build.yml build backend
docker compose up -d backendNginx 配置修改:
- 配置通过 volume 挂载,修改后直接重启即可
docker compose restart nginxFrontend 代码修改:
- 本地构建后重启 nginx
cd frontend && npm run build && cd ..
docker compose restart nginx