
在当下内容为王的时代,短视频与短剧创作需求激增,但专业工具往往价格不菲或功能封闭。今天要介绍的 FastMovieAI,正是一个旨在打破壁垒、功能完整的开源短剧/短视频创作平台。它采用前后端分离架构,集成了从用户管理、支付到AI视频生成的全套能力,为内容创作者和开发团队提供了一个可自由定制、零成本商用的强大选择。
如果你正在云栈社区寻找高性能的Web解决方案或对AI视频应用感兴趣,那么这个基于PHP高性能框架Webman构建的项目,值得你深入了解。
项目愿景与核心特性
FastMovieAI的愿景是打造一个全球领先的开源短剧创作生态系统,其设计目标是对标市面上一流的商业化短剧创作平台。那么,它具体有哪些吸引开发者和创作者的特性呢?
- 真正的开源自由:提供完全开放的源代码,支持深度定制与二次开发。
- 零成本商用:无需支付SaaS订阅或按量计费,一次部署即可永久使用。
- 持续进化:采用社区驱动模式,快速迭代功能,响应用户需求。
- 共创共赢:鼓励影视公司、MCN机构、独立创作者和技术开发者共同参与生态建设。
功能一览
- 🎬 AI视频创作:基于AI的短剧视频生成与编辑。
- 🎭 角色管理:虚拟角色的创建、配置与管理。
- 🎙️ 语音合成:支持多语言语音合成与配音。
- 📝 剧本编辑:可视化剧本编辑器与分镜头管理。
- 💰 支付集成:支持支付宝、微信支付等多种方式。
- 👥 用户系统:完整的注册、登录及VIP会员体系。
- 💎 积分系统:灵活的积分充值与消费机制。
- 📱 微信集成:支持微信公众号与小程序对接。
- 🔌 插件架构:模块化插件系统,易于功能扩展。
- 🌍 多语言支持:支持中英文界面切换。
技术架构解析
一个平台的强大,离不开其坚实的技术底座。FastMovieAI如何支撑高并发的视频生成任务?我们来剖析一下它的技术栈。
后端技术栈
- 框架: Webman v2.1+ (基于Workerman的高性能PHP框架)
- PHP 版本: ≥8.1
- 数据库: MySQL ≥8.0, Redis
- ORM: ThinkORM v2.1+
- 模板引擎: ThinkTemplate v3.0+
- 支付: Yansongda/Pay v3.7+ (支付宝、微信支付)
- 视频处理: php-ffmpeg v1.3+
- WebSocket: webman/push v1.1+
前端技术栈
- 框架: Vue 3.5+ (Composition API)
- 构建工具: Vite 7.1+
- 语言: TypeScript 5.9+
- UI 框架: Element Plus 2.11+
- 状态管理: Pinia 3.0+
- 路由: Vue Router 4.5+
- 视频处理: @webav/av-cliper, mp4box
项目结构
fastmovieai/
├── fastmovie-admin/ # 后端应用 (PHP/Webman)
│ ├── app/ # 应用代码
│ ├── config/ # 配置文件
│ ├── plugin/ # 插件系统
│ ├── public/ # 公共资源
│ └── start.php # 启动入口
├── fastmovie-vue/ # 前端应用 (Vue3/TypeScript)
│ ├── src/ # 源代码
│ ├── public/ # 静态资源
│ └── vite.config.ts # Vite 配置
└── README.md # 项目文档
环境要求与快速开始
环境要求
后端环境:
- PHP ≥ 8.1
- MySQL ≥ 8.0
- Redis
- 必需的PHP扩展:PDO, PDO_MySQL, MySQLi, Redis, cURL, OpenSSL, GD, Fileinfo, MBString, JSON,推荐安装Event扩展以提升性能。
前端环境:
- Node.js (推荐LTS版本)
- npm 或 yarn
快速部署指南
1. 克隆项目
项目由前后端两个独立仓库组成,需要分别克隆。
# 创建项目目录
mkdir fastmovieai
cd fastmovieai
# 克隆后端仓库
git clone https://github.com/xhadmincn/FastMovieAI/fastmovie-admin
# 克隆前端仓库
git clone https://github.com/xhadmincn/FastMovieAI/fastmovie-vue
2. 后端安装与配置
推荐使用Web安装向导,访问 http://your-domain.com/install 按步骤操作即可,向导会自动完成环境检测、数据库配置、生成密钥和配置文件等工作。
安装完成后,务必:
- 根据提示配置Nginx伪静态规则(复制
fastmovie-admin/nginx.example 内容)。
- 启动后端服务:
cd fastmovie-admin
php start.php start -d
- 删除安装目录以保证安全:
rm -rf public/install
手动安装(高级用户)可参考以下步骤:
cd fastmovie-admin
# 1. 复制环境配置文件
copy .env.example .env
# 2. 编辑 .env 文件,配置数据库、Redis、WebSocket等连接信息
# 3. 导入数据库
mysql -u root -p your_database < database.sql
# 4. 更新 nginx.example 中的 PUSH_KEY 为 .env 中的实际值
3. 前端安装与启动
cd fastmovie-vue
# 安装依赖
npm install
# 启动开发服务器(默认端口36310)
npm run dev
记得在 .env.development 文件中配置后端API地址 (VITE_API_URL)。
4. 访问系统
⚠️ 安全提示: 首次登录后请立即修改默认密码!
生产环境部署详解
宝塔面板部署(推荐)
- 创建站点:运行目录设置为
fastmovie-admin/public,PHP版本选8.1+。
- 配置伪静态:将
fastmovie-admin/nginx.example 文件内容完整复制到宝塔面板的伪静态设置中并保存。
- 启动服务:在
fastmovie-admin 目录下执行 php start.php start -d。
- 配置进程守护:在宝塔“进程守护”中添加,确保服务异常退出后能自动重启。
- 通过
http://your-domain.com/install 完成最终安装配置,并记得删除 public/install 目录。
手动部署配置要点
Nginx反向代理配置是关键,以下为配置核心片段,需根据实际情况调整 YOUR_ACTUAL_PUSH_KEY 和端口:
# WebSocket推送配置
location /app/YOUR_ACTUAL_PUSH_KEY {
proxy_pass http://127.0.0.1:37000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
# 请求转发到Webman后端
location ^~ / {
proxy_set_header Host $http_host;
... # 其他头部信息
proxy_pass http://127.0.0.1:36999; # 此端口需与.env中SERVER_PORT一致
}
使用Systemd守护进程是保障服务稳定的好方法,创建 /etc/systemd/system/fastmovie.service:
[Unit]
Description=FastMovieAI Backend Service
After=network.target
[Service]
Type=forking
User=www-data
WorkingDirectory=/path/to/fastmovie-admin
ExecStart=/usr/bin/php start.php start -d
ExecStop=/usr/bin/php start.php stop
Restart=always
[Install]
WantedBy=multi-user.target
启用服务:sudo systemctl enable fastmovie && sudo systemctl start fastmovie。
前端部署则需先构建生产包 npm run build,然后将 dist 目录下的文件部署到 fastmovie-admin/public/assets/ 或独立的静态文件服务器。
进阶使用与开发
插件化架构
FastMovieAI采用模块化插件设计,核心功能均由插件实现,例如:
user – 用户管理和认证
finance – 支付和财务管理
shortplay – 短剧创作核心功能
model – AI模型管理
这种架构使得系统易于扩展和维护。
常用开发命令
后端 (Webman):
# 查看所有可用命令
php webman
# 清除缓存
php webman cache:clear
前端 (Vue3 + TypeScript):
# 开发模式运行
npm run dev
# 构建生产版本
npm run build
# 进行TypeScript类型检查
vue-tsc --noEmit
默认端口说明
- 后端API服务: 36999 (可通过
.env 的 SERVER_PORT 调整)
- 前端开发服务器: 36310
- WebSocket推送API端口: 37000
- WebSocket安全端口: 37001
通过以上的介绍与部署指南,相信你已经对FastMovieAI这个开源项目有了全面的认识。无论是想搭建自己的视频创作平台,还是学习Webman、Vue3在现代Web应用中的实践,它都是一个极具价值的参考项目。