# video **Repository Path**: soulnew/video ## Basic Information - **Project Name**: video - **Description**: 方糖猫,文生视频工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: http://ftmao.com/blog - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-02-06 - **Last Updated**: 2026-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 方糖猫 AI SaaS 平台 高可用、低成本、可扩展的 AI 视频生成 SaaS 平台,采用"轻重分离"架构。 ## 项目架构 ``` ├── dianbotong-java/ # Java 后端(轻 - 业务层) │ ├── src/main/java/com/dianbotong/ │ │ ├── entity/ # 数据实体 │ │ ├── repository/ # 数据访问层 │ │ ├── auth/ # 认证模块 │ │ ├── credit/ # 点数与支付 │ │ ├── task/ # 任务管理 │ │ ├── config/ # 配置类 │ │ ├── scheduler/ # 定时任务 │ │ └── util/ # 工具类 │ └── src/main/resources/ │ ├── application.yml # 应用配置 │ └── db/schema.sql # 数据库表结构 │ ├── dianbotong-worker/ # Python Worker(重 - 计算层) │ ├── configs/ # 配置 │ ├── core/ # AI 核心模块 │ │ ├── llm_parser.py # DeepSeek 脚本解析 │ │ ├── tts_engine.py # Edge-TTS 音频生成 │ │ ├── sadtalker.py # SadTalker 数字人 │ │ └── editor.py # MoviePy 视频剪辑 │ ├── uploader.py # OSS 上传 │ └── worker.py # RabbitMQ 消费者 │ ├── dianbotong-admin/ # Vue 管理后台 │ └── src/ │ ├── views/ # 页面 │ ├── api/ # API 封装 │ ├── stores/ # Pinia 状态管理 │ └── router/ # 路由 │ ├── dianbotong-web/ # Vue 用户 Web 端 │ └── src/ │ ├── views/ # 页面组件 │ ├── components/ # 公共组件 │ ├── api/ # API 封装 │ ├── stores/ # Pinia 状态管理 │ └── router/ # 路由 │ └── dianbotong-miniprogram/ # 微信小程序 └── pages/ # 小程序页面 ``` ## 技术栈 ### Java 后端 - Spring Boot 3.2 - Spring Data JPA - Spring AMQP (RabbitMQ) - Spring Data Redis - MySQL 8 - JWT 认证 - 微信小程序 SDK - 微信支付 V3 ### Python Worker - Python 3.10 - DeepSeek API - Edge-TTS - SadTalker (数字人) - MoviePy (视频处理) - RabbitMQ (pika) - OSS (阿里云/腾讯云/AWS) ### Vue 管理后台 - Vue 3 - Vite - Element Plus - Pinia - Vue Router - Axios ### Vue 用户 Web 端 - Vue 3 - Vite - Pinia - Vue Router - Axios - @vueuse/core - dayjs ### 微信小程序 - 原生小程序框架 ## 快速开始 ### 1. 数据库初始化 ```bash # 创建数据库 mysql -u root -p CREATE DATABASE dianbotong CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 导入表结构 mysql -u root -p dianbotong < dianbotong-java/src/main/resources/db/schema.sql ``` ### 2. 启动 Java 后端 ```bash cd dianbotong-java mvn spring-boot:run ``` ### 3. 启动 Python Worker ```bash cd dianbotong-worker cp .env.example .env # 编辑 .env 配置文件 pip install -r requirements.txt python worker.py ``` 或使用 Docker: ```bash cd dianbotong-worker docker-compose up -d ``` ### 4. 启动 Vue 管理后台 ```bash cd dianbotong-admin npm install npm run dev ``` ### 5. 运行微信小程序 使用微信开发者工具打开 `dianbotong-miniprogram` 目录。 ### 6. 运行用户 Web 端 ```bash cd dianbotong-web npm install npm run dev ``` 访问 http://localhost:3000 ## 环境变量配置 ### Java 后端 (application.yml) ```yaml # 数据库 spring.datasource.url=jdbc:mysql://localhost:3306/dianbotong spring.datasource.username=root spring.datasource.password=your_password # Redis spring.data.redis.host=localhost spring.data.redis.password= # RabbitMQ spring.rabbitmq.host=localhost spring.rabbitmq.username=guest spring.rabbitmq.password=guest # 微信 wechat.miniapp.appid=your_appid wechat.miniapp.secret=your_secret # 微信支付 wechatpay.merchant-id=your_merchant_id wechatpay.api-v3-key=your_api_v3_key # JWT jwt.secret=your_secret_key ``` ### Python Worker (.env) ```bash RABBITMQ_URL=amqp://guest:guest@localhost:5672/ JAVA_CALLBACK_URL=http://localhost:8080/api/task/callback DEEPSEEK_API_KEY=your_deepseek_api_key OSS_ACCESS_KEY=your_access_key OSS_SECRET_KEY=your_secret_key OSS_BUCKET=dianbotong-videos ``` ## API 文档 启动 Java 后端后,访问 http://localhost:8080/swagger-ui.html 查看完整 API 文档。 ## 主要功能 ### 1. 用户认证 - 微信小程序登录 - JWT Token 认证 - 邀请码系统 ### 2. 点数系统 - 点数充值(微信支付) - 点数消费(视频生成) - 点数流水记录 - 失败任务退款 ### 3. 任务管理 - 创建视频任务 - 任务状态流转 - 任务超时处理 - 失败任务重试 ### 4. AI 渲染 - LLM 脚本解析 - TTS 语音合成 - 数字人视频生成 - 视频剪辑合成 ## 部署建议 ### 开发环境 - Java: 本地或 Docker - Worker: 本地(模拟模式) - Redis: Docker - RabbitMQ: Docker - MySQL: Docker ### 生产环境 - Java: 通用云服务器 - Worker: GPU 云算力 - Redis: 云数据库 - RabbitMQ: 消息队列服务 - MySQL: 云数据库 - OSS: 对象存储服务 ## 许可证 MIT License