跳转至

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,需登录(Cookie access_token 或 Header Authorization: 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_titleusernamemsg 等)与 Python 一致,前端无需修改。
  • API 路径与请求/响应结构与原版对齐;轮播启停、MediaMTX 安装/重启、FFmpeg 安装等为占位或简化实现,可按需在 internal/handlersinternal/services 中补全。

版权说明

本项目为私有软件,保留所有权利。未经作者授权,禁止复制、分发或用于商业用途。

作者: Laok
联系方式: QQ 410022283
电子邮件: 410022283@qq.com

本软件使用以下开源组件,遵循各自许可证:

  • Gin: MIT License
  • GORM: MIT License
  • pongo2: MIT License
  • MediaMTX: MIT License
  • FFmpeg: LGPL/GPL(通过命令行调用)

评论