# ai-video-draw **Repository Path**: codercjx/ai-video-draw ## Basic Information - **Project Name**: ai-video-draw - **Description**: 短视频内容提取 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-18 - **Last Updated**: 2026-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 视频文案提取分析工具 一款基于 Vue3 + TypeScript + Node.js 的 SaaS 级视频文案提取分析工具,支持抖音、TikTok、YouTube 等平台的视频链接自动解析、语音转文字和 AI 智能分析。 ## 功能特性 - 支持多平台视频解析(抖音、TikTok、YouTube) - 视频音频自动提取 - 语音转文字(Whisper 模型) - AI 智能文案分析(DeepSeek API) - 实时进度跟踪(SSE 流式传输) - 美观的 UI 界面(Naive UI) ## 技术栈 ### 前端 - Vue 3 + Composition API - TypeScript - Vite - Pinia(状态管理) - Naive UI(UI 组件库) - Vue Router ### 后端 - Node.js + Koa - TypeScript - SSE(Server-Sent Events) - yt-dlp(视频下载) - ffmpeg(音视频处理) - Whisper(语音识别) - DeepSeek API(AI 分析) ## 环境准备 ### 1. 安装 Node.js 推荐使用 Node.js 18 LTS 或更高版本。 **macOS(使用 Homebrew):** ```bash brew install node ``` **Windows(使用官网安装包):** 下载并安装:https://nodejs.org/ **验证安装:** ```bash node --version npm --version ``` ### 2. 安装 Git **macOS:** ```bash brew install git ``` **Windows:** 下载并安装:https://git-scm.com/ **验证安装:** ```bash git --version ``` ### 3. 安装 FFmpeg FFmpeg 用于音视频处理,是后端模块的核心依赖。 **macOS(使用 Homebrew):** ```bash brew install ffmpeg ``` **Ubuntu/Debian:** ```bash sudo apt update sudo apt install ffmpeg ``` **Windows:** 1. 下载 FFmpeg:https://ffmpeg.org/download.html 2. 解压到指定目录(如 `C:\ffmpeg`) 3. 将 `bin` 目录添加到系统 PATH 环境变量 **验证安装:** ```bash ffmpeg -version ``` ### 4. 安装 yt-dlp yt-dlp 用于视频下载,支持 YouTube、抖音等平台。 **macOS/Linux(使用 pip):** ```bash pip install yt-dlp ``` **Windows:** ```bash pip install yt-dlp ``` 或者下载可执行文件:https://github.com/yt-dlp/yt-dlp/releases **验证安装:** ```bash yt-dlp --version ``` ### 5. 安装 Python 和 Whisper(可选) Whisper 用于本地语音识别。如果使用云端 API,可以跳过此步骤。 **macOS:** ```bash brew install python pip install openai-whisper ``` **安装 GPU 支持(可选,需要 NVIDIA 显卡):** ```bash pip install torch torchvision torchaudio pip install openai-whisper ``` ## AI 平台配置 ### DeepSeek API(必需) AI 分析功能需要 DeepSeek API 支持。 **注册步骤:** 1. 访问 [DeepSeek 开放平台](https://platform.deepseek.com/) 2. 注册账号并完成实名认证 3. 登录后进入控制台 4. 创建 API Key: - 点击「API Keys」→「创建 API Key」 - 输入名称(如:video-analysis) - 复制生成的 API Key **获取 API Key 后:** 在后端目录创建 `.env` 文件: ```bash cd backend cp .env.example .env ``` 编辑 `.env` 文件,填入您的 API Key: ```env DEEPSEEK_API_KEY=your_api_key_here DEEPSEEK_API_URL=https://api.deepseek.com DEEPSEEK_MODEL=deepseek-chat ``` ## 项目配置 ### 1. 克隆项目 ```bash git clone <项目仓库地址> cd ai-video-draw ``` ### 2. 后端配置 ```bash cd backend # 安装依赖 yarn install # 配置环境变量 cp .env.example .env # 编辑 .env 文件,填入您的 DeepSeek API Key ``` ### 3. 前端配置 ```bash cd frontend # 安装依赖 yarn install ``` ### 4. 环境变量说明 后端 `.env` 配置文件: ```env # 服务器配置 PORT=3000 NODE_ENV=development # DeepSeek API 配置(必需) DEEPSEEK_API_KEY=your_api_key_here DEEPSEEK_API_URL=https://api.deepseek.com DEEPSEEK_MODEL=deepseek-chat # 文件存储配置 TEMP_DIR=./temp MAX_FILE_SIZE=524288000 # CORS 配置 CORS_ORIGIN=* # 日志配置 LOG_LEVEL=info ``` ## 运行项目 ### 1. 启动后端服务 ```bash cd backend # 开发模式 yarn dev # 或生产模式 yarn build yarn start ``` 后端服务启动后,运行在 http://localhost:3000 ### 2. 启动前端服务 打开新的终端窗口: ```bash cd frontend # 开发模式 yarn dev ``` 前端服务启动后,运行在 http://localhost:5173 ### 3. 访问应用 在浏览器中打开 http://localhost:5173 ## 使用流程 1. **输入视频链接** - 在首页输入框中粘贴视频链接 - 支持抖音、TikTok、YouTube 链接 - 链接格式验证通过后,点击"开始分析" 2. **等待处理** - 系统自动进行视频下载、音频提取、语音识别、AI 分析 - 实时显示处理进度 3. **查看结果** - 处理完成后,自动跳转到结果页面 - 查看内容摘要、情感分析、关键词、主题分类等 ## 项目结构 ``` ai-video-draw/ ├── frontend/ # 前端项目 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── services/ # API 服务 │ │ ├── router/ # 路由配置 │ │ ├── assets/ # 静态资源 │ │ └── styles/ # 样式文件 │ ├── package.json │ └── vite.config.ts │ ├── backend/ # 后端项目 │ ├── src/ │ │ ├── api/ # API 路由 │ │ ├── models/ # 数据模型 │ │ ├── services/ # 业务服务 │ │ ├── streams/ # SSE 流处理 │ │ ├── utils/ # 工具函数 │ │ ├── middlewares/ # 中间件 │ │ └── config/ # 配置管理 │ ├── package.json │ └── tsconfig.json │ └── README.md ``` ## API 接口文档 ### 创建任务 ``` POST /api/tasks Content-Type: application/json { "videoUrl": "https://www.youtube.com/watch?v=xxx" } Response: { "taskId": "task_xxx", "status": "pending" } ``` ### 获取任务状态 ``` GET /api/tasks/:taskId Response: { "taskId": "task_xxx", "status": "completed", "progress": [...], "result": { "videoUrl": "...", "platform": "youtube", "transcript": "...", "analysis": { "summary": "...", "keywords": [...], "sentiment": "positive", "topics": [...], "highlights": [...] } } } ``` ### 取消任务 ``` DELETE /api/tasks/:taskId ``` ### 任务状态流 ``` GET /api/tasks/:taskId/stream Content-Type: text/event-stream ``` ### 健康检查 ``` GET /api/health Response: { "status": "ok", "timestamp": "...", "services": { "ai": "healthy" } } ``` ## 常见问题 ### Q: 视频下载失败怎么办? A: 检查以下内容: 1. 确认 yt-dlp 已正确安装:`yt-dlp --version` 2. 确认视频链接有效且可访问 3. 部分视频可能因版权或地区限制无法下载 ### Q: 语音识别结果不准确? A: Whisper 语音识别准确性取决于: 1. 音频质量 2. 背景噪音 3. 说话人语言清晰度 4. 可以尝试使用更大的 Whisper 模型 ### Q: AI 分析结果不理想? A: 可以调整以下内容: 1. 检查 DeepSeek API Key 是否有效 2. 确认 API 配额是否充足 3. 检查网络连接是否稳定 ### Q: 如何处理大文件视频? A: 在 `.env` 中调整 `MAX_FILE_SIZE` 配置,并确保系统有足够磁盘空间。 ## 开发指南 ### 前端开发 ```bash cd frontend # 类型检查 yarn typecheck # 代码检查 yarn lint # 构建生产版本 yarn build ``` ### 后端开发 ```bash cd backend # 类型检查 yarn typecheck # 代码检查 yarn lint # 构建生产版本 yarn build ``` ## 部署说明 ### Docker 部署(推荐) ```bash # 构建镜像 docker build -t ai-video-draw . # 运行容器 docker run -p 3000:3000 -p 5173:5173 \ -e DEEPSEEK_API_KEY=your_api_key \ ai-video-draw ``` ### 手动部署 1. 在服务器上安装 Node.js、FFmpeg、yt-dlp 2. 克隆项目代码 3. 安装依赖:`yarn install` 4. 配置环境变量 5. 构建项目:`yarn build` 6. 使用 PM2 或 systemd 运行 ## 许可证 MIT License ## 联系方式 如有问题,请提交 Issue 或联系开发者。