收起左侧

VideoStream流媒体管理平台

19
回复
1790
查看
[ 复制链接 ]

0

主题

10

回帖

0

牛值

江湖小虾

2026-1-27 11:36:22 显示全部楼层 阅读模式

VideoStream流媒体管理平台

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

VideoStream 3.0 是一个基于 FastAPI 和 MediaMTX 构建的高性能流媒体管理平台。它提供了一套完整的解决方案,用于管理视频资源、推流任务、轮播频道以及流媒体转发。

核心特性

  • 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/ 未改动。

程序截图

3bc587ff89593e2324c2503f59d8ccc6.png

login.png

main.png

stream.png

push.png

seting.png

目录结构

VideoStream/
**── videostream       # Go 入口、handlers、services、lifecycle
**── bin/                   # MediaMTX 等
**── data/                  # SQLite、缓存(运行时生成)
**── docs/                  # 文档
**── logs/                  # 运行与推流日志
**── static/                # 前端静态资源
**── templates/             # 前端模板(pongo2 渲染)
**── go.mod, go.sum
**── DEPLOY.md

文档支持

项目地址:https://gitee.com/laoknas/fn_fpk_packages/tree/master/fn-videostream
博客:https://laokhome.cn/videostream-3

快速开始

前置要求

  • 系统平台:amd64_x86

运行服务

# Linux / macOS (Bash)
# 直接运行
./videostream

# 或指定端口
SITE_PORT=20512 ./videostream
SITE_HOST=0.0.0.0 SITE_PORT=20512 ./videostream

# Windows (PowerShell)
# 直接运行
.\videostream.exe

# 或指定端口
$env:SITE_PORT = "20512"; .\videostream.exe
$env:SITE_HOST = "0.0.0.0"; $env:SITE_PORT = "20512"; .\videostream.exe

默认监听 127.0.0.1:20512 。浏览器访问 http://localhost:20512。默认账号:**admin**,密码:**123456laok**。

访问 http://localhost:20512 即可进入管理后台。
默认账号 admin
默认密码 123456laok

测试平台

  • 群晖 DS920+ 、飞牛 FNOS 上成功部署和运行(非docker)。
  • 其他 Linux 发行版(未测试)
  • 拉流转发功能(未测试),可能存在兼容性问题(暂无直播码测试)。

环境变量

变量 说明 默认
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 版一致,便于前端沿用。

飞牛应用部署

image.png

image.png

应用下

飞牛OS应用-更新日志
2026-02-13
2026-02-08
  • fn-videostream_v1.0.20.fpk
  • 1、优化轮播模块。
  • 2、加强自动硬件加速识别功能。
  • 3、新增监控室模块。
  • 4、修复了一些bug。
2026-01-31
  • fn-videostream_v1.0.19.fpk
  • 1、优化应用控制台UI页面
  • 2、应用控制台新增对MediaMTX、FFmpeg的管理功能
  • 3、优化应用控制台刷新按钮逻辑。
2026-01-29
  • fn-videostream_v1.0.18.fpk
  • 1、修复基本设置日志显示问题
  • 2、修复MediaMTX显示日志问题
  • 3、修复推流任务循环播放按钮功能无效问题
  • 4、提高系统稳定性
2026-01-28
2026-01-26

版权说明

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

作者: Laok

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

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

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

7

回帖

0

牛值

江湖小虾

2026-1-28 01:18:35 显示全部楼层

UI看起来不错

性能也还可以~  详情 回复
2026-1-28 12:20

0

主题

10

回帖

0

牛值

江湖小虾

2026-1-28 12:20:39 楼主 显示全部楼层

性能也还可以~

2

主题

79

回帖

0

牛值

初出茅庐

2026-1-28 14:29:42 显示全部楼层

大佬,这是缺什么

image.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
3.11,3.12装了都不行  详情 回复
2026-1-29 14:03
安装 python3.11 试试  详情 回复
2026-1-28 14:33

0

主题

10

回帖

0

牛值

江湖小虾

2026-1-28 14:33:26 楼主 显示全部楼层
一點墨 发表于 2026-1-28 14:29
大佬,这是缺什么

安装 python3.11 试试

1

主题

13

回帖

0

牛值

江湖小虾

2026-1-28 16:29:03 显示全部楼层

不行啊大佬会出现,内置 Python虚拟环境不可用或缺少依赖:uvicorn,安装了Python3.11也没用

大佬能不能加一个推流地址,比如说我要自己直播电脑使用obs推流,然后通过您的这个程序再批量转发到各个平台的上实现单拉流批量推流  详情 回复
2026-1-29 11:55
已更新更新,已废弃Python版本。卸载删除应用数据,重新安装v1.07版本,感谢您的支持。  详情 回复
2026-1-28 23:50
晚一些,会更新一版本。  详情 回复
2026-1-28 17:05

0

主题

10

回帖

0

牛值

江湖小虾

2026-1-28 17:05:39 楼主 显示全部楼层
念尘。 发表于 2026-1-28 16:29
不行啊大佬会出现,内置 Python虚拟环境不可用或缺少依赖:uvicorn,安装了Python3.11也没用
...

晚一些,会更新一版本。
如果动手能力强的,可以尝试方法:https://gitee.com/laoknas/videostream

终端cd到videostream目录下:
# Linux/Mac:
source venv/bin/activate
# 在虚拟环境中安装依赖
pip install uvicorn
python3.11 -m uvicorn app.main:app --host 0.0.0.0 --port 20512

0

主题

10

回帖

0

牛值

江湖小虾

2026-1-28 23:50:30 楼主 显示全部楼层
念尘。 发表于 2026-1-28 16:29
不行啊大佬会出现,内置 Python虚拟环境不可用或缺少依赖:uvicorn,安装了Python3.11也没用
...

已更新更新,已废弃Python版本。卸载删除应用数据,重新安装v1.07版本,感谢您的支持。

1

主题

13

回帖

0

牛值

江湖小虾

2026-1-29 11:55:42 显示全部楼层
念尘。 发表于 2026-1-28 16:29
不行啊大佬会出现,内置 Python虚拟环境不可用或缺少依赖:uvicorn,安装了Python3.11也没用
...

大佬能不能加一个推流地址,比如说我要自己直播电脑使用obs推流,然后通过您的这个程序再批量转发到各个平台的上实现单拉流批量推流
拉流转发模块中,可以实现  详情 回复
2026-1-29 16:32

2

主题

79

回帖

0

牛值

初出茅庐

2026-1-29 14:03:18 显示全部楼层
一點墨 发表于 2026-1-28 14:29
大佬,这是缺什么

3.11,3.12装了都不行
请重新下载,安装新版本。  详情 回复
2026-1-29 16:30

0

主题

10

回帖

0

牛值

江湖小虾

2026-1-29 16:30:01 楼主 显示全部楼层
一點墨 发表于 2026-1-29 14:03
3.11,3.12装了都不行

请重新下载,安装新版本。

0

主题

10

回帖

0

牛值

江湖小虾

2026-1-29 16:32:03 楼主 显示全部楼层
念尘。 发表于 2026-1-29 11:55
大佬能不能加一个推流地址,比如说我要自己直播电脑使用obs推流,然后通过您的这个程序再批量转发到各个 ...

拉流转发模块中,可以实现

9

主题

114

回帖

0

牛值

初出茅庐

2026-1-29 19:16:16 显示全部楼层

这个是干嘛的,看不懂

可以直播,也可以放视频,别人打开浏览器就能看你的直播或者视频  详情 回复
2026-3-4 14:59

1

主题

3

回帖

0

牛值

江湖小虾

2026-3-4 14:59:33 显示全部楼层
xls8013 发表于 2026-1-29 19:16
这个是干嘛的,看不懂

可以直播,也可以放视频,别人打开浏览器就能看你的直播或者视频
有点像建站的?  详情 回复
2026-3-4 20:29

9

主题

114

回帖

0

牛值

初出茅庐

2026-3-4 20:29:41 显示全部楼层
tjmxxo 发表于 2026-3-4 14:59
可以直播,也可以放视频,别人打开浏览器就能看你的直播或者视频

有点像建站的?

0

主题

1

回帖

0

牛值

江湖小虾

2026-3-10 11:42:41 显示全部楼层

你好,这个mediamtx怎么也安装不上,麻烦问下怎么解决呢,麻烦大佬了

这个要想办法科学一下了。 程序已经做了最大程度的优化考虑。或者自己手动找到程序目录下(程序安装目录的) bin目录,手动下载放到里面,加上可执行权限  详情 回复
3 小时前

1

主题

59

回帖

0

牛值

初出茅庐

遇到相同的问题了,mediamtx无法安装

这个要想办法科学一下了。 程序已经做了最大程度的优化考虑。或者自己手动找到程序目录下(程序安装目录的) bin目录,手动下载放到里面,加上可执行权限  详情 回复
3 小时前

0

主题

10

回帖

0

牛值

江湖小虾

3 小时前 楼主 显示全部楼层
John_cgB9O 发表于 2026-3-12 11:59
遇到相同的问题了,mediamtx无法安装

这个要想办法科学一下了。 程序已经做了最大程度的优化考虑。或者自己手动找到程序目录下(程序安装目录的) bin目录,手动下载放到里面,加上可执行权限

0

主题

10

回帖

0

牛值

江湖小虾

3 小时前 楼主 显示全部楼层
simle1986 发表于 2026-3-10 11:42
你好,这个mediamtx怎么也安装不上,麻烦问下怎么解决呢,麻烦大佬了

这个要想办法科学一下了。 程序已经做了最大程度的优化考虑。或者自己手动找到程序目录下(程序安装目录的) bin目录,手动下载放到里面,加上可执行权限
好的,明白了。需要挂代理。怪不得404  详情 回复
半小时前

1

主题

59

回帖

0

牛值

初出茅庐

laok 发表于 2026-3-18 16:32
这个要想办法科学一下了。 程序已经做了最大程度的优化考虑。或者自己手动找到程序目录下(程序安装目录 ...

好的,明白了。需要挂代理。怪不得404
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则