# videostream-python **Repository Path**: laoknas/videostream-python ## Basic Information - **Project Name**: videostream-python - **Description**: VideoStream 3.0 是一个基于 FastAPI 和 MediaMTX 构建的高性能流媒体管理平台。它提供了一套完整的解决方案,用于管理视频资源、推流任务、轮播频道以及流媒体转发。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-25 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VideoStream 3.0 VideoStream 3.0 是一个基于 FastAPI 和 MediaMTX 构建的高性能流媒体管理平台。它提供了一套完整的解决方案,用于管理视频资源、推流任务、轮播频道以及流媒体转发。 ## 核心特性 * **高性能架构**: 后端采用 Python FastAPI (异步) + SQLAlchemy (AsyncIO),前端使用 Bootstrap 5 + jQuery,确保轻量且响应迅速。 * **多协议支持**: 原生支持 RTMP, RTSP, HLS, WebRTC, SRT 等多种流媒体协议。 * **轮播频道 (Rotation)**: 支持创建自定义轮播频道,将多个视频文件按顺序循环推流,并具备自动转码标准化功能,确保推流稳定性。 * **拉流转发 (Pull)**: 支持从远程源(IPTV, 网络摄像头)拉取流并转发到本地服务或第三方平台。 * **跨平台兼容**: 完美支持 Windows 和 Linux 环境,自动处理路径差异和进程管理。 * **稳定可靠**: 采用文件重定向日志机制,彻底解决 FFmpeg 缓冲区死锁问题;内置进程守护和僵尸进程自动清理。 ## 程序截图 ![登录页](docs/images/login.png) ![主界面](docs/images/main.png) ![推流管理](docs/images/stream.png) ![推流配置](docs/images/push.png) ![轮播管理](docs/images/rotation.png) ![基本设置](docs/images/seting.png) ## 目录结构 ```text VideoStream3.0/ ├── app/ # 核心应用代码 │ ├── core/ # 核心配置与生命周期管理 │ ├── db/ # 数据库模型与会话 │ ├── routers/ # API 路由接口 │ ├── schemas/ # Pydantic 数据模型 │ ├── services/ # 业务逻辑服务 (推流, 轮播, 监控等) │ └── main.py # 程序入口 ├── bin/ # 外部二进制依赖 (MediaMTX) ├── data/ # 运行时数据存储 │ ├── videoStream_v3.db # SQLite 数据库 │ └── cache/ # 视频处理缓存 ├── docs/ # 项目文档 ├── logs/ # 系统运行日志 ├── static/ # 前端静态资源 (CSS, JS) └── templates/ # Jinja2 前端模板 ``` ## 文档支持 详细的安装、部署和配置说明,请查阅 [docs/index.md](docs/index.md)。 ## 快速开始 ### 前置要求 * Python 3.11 * FFmpeg (可选,系统会自动使用内置 static-ffmpeg) ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 运行服务 ```bash python -m uvicorn app.main:app --host 0.0.0.0 --port 20512 --reload ``` 访问 http://localhost:20512 即可进入管理后台。 默认账号 admin 默认密码 123456laok ### 测试平台 * 群晖 DS920+ 上成功部署和运行(非docker),python 3.11 环境。 * 飞牛 FNOS 上成功部署和运行(docker),python 3.11 环境。 * 其他 Linux 发行版(未测试) * 拉流转发功能(未测试),可能存在兼容性问题(暂无直播码测试)。 ### 下载地址 - 飞牛OS应用: [fn-videostream_v1.0.16.fpk](http://nas.laokhome.cn:5005/%E9%A3%9E%E7%89%9BfnOS/%E9%A3%9E%E7%89%9B%E5%BA%94%E7%94%A8/fn-videostream/v1.0.16/fn-videostream_v1.0.16.fpk) ### 配置说明 请参考 [docs/configuration.md](docs/configuration.md) 进行系统配置。 ## API 文档 启动服务后,访问 http://localhost:20512/docs 查看完整的 Swagger API 文档。 ## 版权说明 本项目为私有软件,保留所有权利。未经作者授权,禁止复制、分发或用于商业用途。 作者: Laok 联系方式: QQ 410022283 电子邮件: 410022283@qq.com 本软件使用了以下开源组件,遵循其各自的许可证: * **FastAPI**: MIT License * **MediaMTX**: MIT License * **FFmpeg**: LGPL/GPL License (通过命令行调用)