VideoStream 3.0 媒体管理平台¶
VideoStream 3.0 是基于 Go (Gin) + MediaMTX 的流媒体管理平台,提供视频资源、推流任务、轮播频道及流媒体转发能力。前端沿用原 Bootstrap 5 + jQuery 与 templates/、static/,由 Go 使用 pongo2 渲染模板,无需改前端即可运行。
系统界面¶
登录页面¶

首页¶

视频管理¶

推流管理¶

拉流管理¶

拉流转推流¶

系统设置¶

管理控制台¶

核心特性¶
- Go 后端: Gin + GORM + SQLite,单一二进制部署。
- 多协议支持: RTMP、RTSP、HLS、WebRTC、SRT 等。
- 轮播频道 (Rotation): 创建轮播组、添加节目单、排序;启停逻辑占位,推流引擎可后续接 FFmpeg concat。
- 推流管理: 单路视频启停、日志 tail、WebSocket 实时日志(
/ws/logs/global、/ws/logs/:video_id)。 - 系统与 MediaMTX: 系统环境/统计、流服务器配置、修改密码、MediaMTX 路径/重启等 API 与 Python 版对齐(部分为占位实现)。
- 前端复用: 使用原
templates/(Jinja2 语法兼容 pongo2),static/未改动。
目录结构¶
VideoStream/
├── cmd/videostream/ # Go 入口
├── internal/ # 配置、数据库、模型、认证、中间件、handlers、services、lifecycle
├── bin/ # MediaMTX 等
├── data/ # SQLite、缓存(运行时生成)
├── docs/ # 文档
├── logs/ # 运行与推流日志
├── static/ # 前端静态资源
├── templates/ # 前端模板(pongo2 渲染)
├── go.mod, go.sum
└── DEPLOY.md
快速开始¶
前置要求¶
- Go 1.21+
- FFmpeg(推流用,可选)
安装与运行¶
应用下载¶
2026-02-13:¶
VideoStream v1.0.21 * 1、优化轮播模块。 * 2、修复了一些bug。
2026-02-08:¶
VideoStream v1.0.20 * 1、优化轮播模块。 * 2、加强自动硬件加速识别功能。 * 3、新增监控室模块。 * 4、修复了一些bug。
2026-01-31:¶
VideoStream v1.0.19 * 1、优化应用控制台UI页面 * 2、应用控制台新增对MediaMTX、FFmpeg的管理功能 * 3、优化应用控制台刷新按钮逻辑。
2026-01-29:¶
VideoStream v1.0.18 * 1、修复基本设置日志显示问题 * 2、修复MediaMTX显示日志问题 * 3、修复推流任务循环播放按钮功能无效问题 * 4、提高系统稳定性
2026-01-28:¶
VideoStream v1.0.17 * 初始首发版本,包含所有核心功能。
默认监听 127.0.0.1:20512。浏览器访问 http://localhost:20512。默认账号:admin,密码:123456laok。
环境变量¶
| 变量 | 说明 | 默认 |
|---|---|---|
| SITE_HOST | 监听地址 | 127.0.0.1 |
| SITE_PORT | 监听端口 | 20512 |
| DATA_DIR | 数据目录 | data |
| DB_NAME | 数据库文件名 | videoStream_v3.db |
| SECRET_KEY | JWT 密钥(生产必设) | 随机/默认 |
| FFMPEG_PATH | FFmpeg 可执行路径 | ffmpeg |
API 与前端¶
- API 前缀:
/api,需登录(Cookieaccess_token或 HeaderAuthorization: Bearer <token>)。 - 页面:
/、/login、/push、/video、/pull、/pushrotation、/settings、/addpushrotation,与 Python 版路径一致,由templates/+ pongo2 渲染,前端可直接使用原版。 - WebSocket:
/ws/logs/global、/ws/logs/:video_id,用于实时推流日志。 - 视频 CRUD、启停、批量删除、流服务器配置、修改密码、轮播 CRUD、系统/MediaMTX/日志等接口均已实现或占位,形态与 Python 版一致,便于前端沿用。
与 Python 版的对应关系¶
本项目由原 Python/FastAPI 版迁移为 Go 实现,在保留原 templates/、static/ 的前提下:
- 所有页面路由与模板变量(如
site_title、username、msg等)与 Python 一致,前端无需修改。 - API 路径与请求/响应结构与原版对齐;轮播启停、MediaMTX 安装/重启、FFmpeg 安装等为占位或简化实现,可按需在
internal/handlers与internal/services中补全。
版权说明¶
本项目为私有软件,保留所有权利。未经作者授权,禁止复制、分发或用于商业用途。
作者: Laok
联系方式: QQ 410022283
电子邮件: 410022283@qq.com
本软件使用以下开源组件,遵循各自许可证:
- Gin: MIT License
- GORM: MIT License
- pongo2: MIT License
- MediaMTX: MIT License
- FFmpeg: LGPL/GPL(通过命令行调用)