# video_platform **Repository Path**: uesugi-java/video_platform ## Basic Information - **Project Name**: video_platform - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-04 - **Last Updated**: 2026-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DeepSeek 视频 AI 处理平台 这是一个基于 FastAPI 构建的视频处理平台,集成了 **FunASR** 用于语音识别,以及 **DeepSeek API** (通过 LangChain) 用于内容分析和自动剪辑。 ## 主要功能 1. **独立视频管理**:上传视频文件,支持断点续传(基础文件存储)。 2. **自动转录**:使用 FunASR 进行离线自动语音识别 (ASR),生成带时间戳的字幕。 3. **智能分析**:利用 DeepSeek 大语言模型阅读字幕,深度理解视频内容。 4. **自动剪辑**:根据语义理解,自动提取视频中的“高光时刻”或关键片段。 5. **REST API**:提供标准的 FastAPI 接口,易于集成。 ## 环境要求 1. **Python 3.10+** 2. **PostgreSQL**:需要运行中的 PostgreSQL 数据库实例。 3. **FFmpeg**:需安装并配置到系统环境变量 (PATH) 中 (或在 `.env` 中指定路径)。 4. **DeepSeek API Key**:有效的 API 密钥。 ## 安装步骤 1. 创建虚拟环境: ```bash python -m venv venv venv\Scripts\activate # Windows 系统 # source venv/bin/activate # Linux/Mac 系统 ``` 2. 安装依赖: ```bash pip install -r requirements.txt ``` 3. 环境配置: 在 `video_platform` 目录下创建一个 `.env` 文件: ```env DATABASE_URL=postgresql+psycopg2://postgres:postgres@localhost:5432/video_ai DEEPSEEK_API_KEY=sk-your-key-here DEEPSEEK_BASE_URL=https://api.deepseek.com FFMPEG_PATH=ffmpeg ``` ## 运行方法 1. 启动服务器: ```bash cd video_platform python run.py ``` 2. 查看 API 文档: 浏览器访问 [http://localhost:8000/docs](http://localhost:8000/docs) ## 使用流程 (新版) ### 1. 上传视频 **POST** `/api/v1/videos/upload` - 表单数据: `file=@myvideo.mp4` - 响应: ```json { "id": "video-uuid-here", "filename": "myvideo.mp4", ... } ``` ### 2. 创建任务 **POST** `/api/v1/tasks/create` - JSON Body: ```json { "video_id": "video-uuid-here", "language": "zh" } ``` - 响应: `{"id": "task-uuid...", "status": "pending"}` ### 3. 查询状态 **GET** `/api/v1/tasks/{task_id}` - 等待直到 `status` 变为 `completed`。 ### 4. 提取剪辑 (Updated) **POST** `/api/v1/clips/extract` - JSON Body: ```json { "video_id": "video-uuid-here", "clip_count": 5, "clip_duration": 15.0 } ``` - 系统将分析该视频最近一次的转录结果,提取出 **5** 个各长 **15秒** 的高光片段。 ### 5. 下载剪辑 **GET** `/api/v1/clips/{task_id}` - 列出任务生成的所有剪辑。 **GET** `/api/v1/clips/download/{clip_id}` - 下载片段文件。 ### 6. 剧本生成 (New) **POST** `/api/v1/scripts/generate` - JSON Body: ```json { "text": "这里输入你想要制作视频的一句话灵感,或者一整篇文章..." } ``` - 响应: `{"id": "script-uuid...", "status": "pending"}` **GET** `/api/v1/scripts/{script_id}` - 查询结果。`generated_content` 字段将包含 Markdown 格式的分镜脚本,可直接用于剪映制作。