forked from 77media/video-flow
剪辑完成后不走下载,让用户手动下载
This commit is contained in:
parent
e2703020ef
commit
6d3adc9bae
123
docs/workflow-auto-download-disabled.md
Normal file
123
docs/workflow-auto-download-disabled.md
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
# Video-Flow 自动下载功能禁用说明
|
||||||
|
|
||||||
|
## 📋 修改概述
|
||||||
|
|
||||||
|
根据需求,已将 Video-Flow 工作流中的自动下载视频功能暂时禁用,用户需要手动下载生成的视频。
|
||||||
|
|
||||||
|
## 🔍 工作流程梳理
|
||||||
|
|
||||||
|
### 完整的 Work-Flow 自动调用剪辑接口流程
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TB
|
||||||
|
A[用户在 work-flow 页面] --> B{视频片段生成完成?}
|
||||||
|
B -->|是| C[显示 AI 剪辑按钮]
|
||||||
|
B -->|否| D[等待视频生成]
|
||||||
|
|
||||||
|
C --> E[用户点击 AI 剪辑按钮]
|
||||||
|
E --> F[ai-editing-adapter.ts 处理]
|
||||||
|
F --> G[调用 /api/export/ai-clips 接口]
|
||||||
|
G --> H[执行 AI 剪辑处理]
|
||||||
|
H --> I[生成最终视频]
|
||||||
|
I --> J[返回视频 URL]
|
||||||
|
J --> K[显示手动下载按钮]
|
||||||
|
|
||||||
|
style K fill:#90EE90
|
||||||
|
style I fill:#FFE4B5
|
||||||
|
```
|
||||||
|
|
||||||
|
### 涉及的核心文件
|
||||||
|
|
||||||
|
1. **`components/pages/work-flow.tsx`** - 主工作流页面
|
||||||
|
2. **`components/pages/work-flow/ai-editing-button.tsx`** - AI 剪辑按钮组件
|
||||||
|
3. **`components/pages/work-flow/ai-editing-adapter.ts`** - AI 剪辑适配器
|
||||||
|
4. **`utils/export-service.ts`** - 导出服务(已禁用自动下载)
|
||||||
|
5. **`app/api/export/ai-clips/route.ts`** - 剪辑接口
|
||||||
|
6. **`app/api/export/download/[exportId]/route.ts`** - 下载接口
|
||||||
|
|
||||||
|
## 🚫 已禁用的自动下载功能
|
||||||
|
|
||||||
|
### 修改位置 1: `utils/export-service.ts` (第685-701行)
|
||||||
|
|
||||||
|
**修改前**:
|
||||||
|
```typescript
|
||||||
|
// 如果SSE中直接有完整结果,直接处理
|
||||||
|
if (result?.download_url || result?.video_url) {
|
||||||
|
const downloadUrl = result.download_url || result.video_url;
|
||||||
|
console.log('📥 直接从SSE结果下载视频:', downloadUrl);
|
||||||
|
await downloadVideo(downloadUrl); // 🚫 自动下载
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**修改后**:
|
||||||
|
```typescript
|
||||||
|
// 如果SSE中直接有完整结果,直接处理
|
||||||
|
if (result?.download_url || result?.video_url) {
|
||||||
|
const downloadUrl = result.download_url || result.video_url;
|
||||||
|
console.log('📥 直接从SSE结果获取视频URL:', downloadUrl);
|
||||||
|
|
||||||
|
// 🚫 暂时不支持自动下载 - 已注释
|
||||||
|
// await downloadVideo(downloadUrl);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 修改位置 2: `utils/export-service.ts` (第726-736行)
|
||||||
|
|
||||||
|
**修改前**:
|
||||||
|
```typescript
|
||||||
|
// 自动下载视频
|
||||||
|
if (finalExportResult.video_url) {
|
||||||
|
console.log('📥 开始下载视频:', finalExportResult.video_url);
|
||||||
|
await downloadVideo(finalExportResult.video_url); // 🚫 自动下载
|
||||||
|
console.log('✅ 视频下载完成');
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**修改后**:
|
||||||
|
```typescript
|
||||||
|
// 🚫 暂时不支持自动下载 - 已注释
|
||||||
|
if (finalExportResult.video_url) {
|
||||||
|
console.log('📥 视频导出完成,URL:', finalExportResult.video_url);
|
||||||
|
// await downloadVideo(finalExportResult.video_url);
|
||||||
|
console.log('✅ 视频导出完成,用户可手动下载');
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## ✅ 保留的手动下载功能
|
||||||
|
|
||||||
|
以下手动下载功能仍然保留:
|
||||||
|
|
||||||
|
### 1. AI 剪辑完成后的下载按钮
|
||||||
|
- **文件**: `components/pages/work-flow/ai-editing-button.tsx`
|
||||||
|
- **位置**: 第284-298行
|
||||||
|
- **功能**: AI 剪辑完成后显示下载按钮,用户可手动点击下载
|
||||||
|
|
||||||
|
### 2. 媒体查看器中的下载按钮
|
||||||
|
- **文件**: `components/pages/work-flow/media-viewer.tsx`
|
||||||
|
- **功能**: 用户可手动下载单个视频或所有视频
|
||||||
|
|
||||||
|
### 3. 项目列表中的下载按钮
|
||||||
|
- **文件**: `components/pages/create-to-video2.tsx`
|
||||||
|
- **功能**: 用户可在项目列表中手动下载最终视频
|
||||||
|
|
||||||
|
## 🔄 如何重新启用自动下载
|
||||||
|
|
||||||
|
如果将来需要重新启用自动下载功能,只需:
|
||||||
|
|
||||||
|
1. 在 `utils/export-service.ts` 中取消注释 `await downloadVideo(downloadUrl)` 行
|
||||||
|
2. 将相关的 console.log 消息改回原来的描述
|
||||||
|
3. 测试确保自动下载功能正常工作
|
||||||
|
|
||||||
|
## 📝 注意事项
|
||||||
|
|
||||||
|
- 自动下载功能的禁用不影响视频的生成和处理
|
||||||
|
- 用户仍然可以通过手动点击下载按钮来下载视频
|
||||||
|
- 所有的下载接口和相关功能都保持完整,只是不会自动触发
|
||||||
|
- 这个修改是临时的,可以随时恢复
|
||||||
|
|
||||||
|
## 🧪 测试建议
|
||||||
|
|
||||||
|
1. 测试 AI 剪辑流程是否正常工作
|
||||||
|
2. 确认剪辑完成后不会自动下载
|
||||||
|
3. 验证手动下载按钮是否正常显示和工作
|
||||||
|
4. 检查控制台日志确认修改生效
|
||||||
@ -685,8 +685,10 @@ export class VideoExportService {
|
|||||||
// 如果SSE中直接有完整结果,直接处理
|
// 如果SSE中直接有完整结果,直接处理
|
||||||
if (result?.download_url || result?.video_url) {
|
if (result?.download_url || result?.video_url) {
|
||||||
const downloadUrl = result.download_url || result.video_url;
|
const downloadUrl = result.download_url || result.video_url;
|
||||||
console.log('📥 直接从SSE结果下载视频:', downloadUrl);
|
console.log('📥 直接从SSE结果获取视频URL:', downloadUrl);
|
||||||
await downloadVideo(downloadUrl);
|
|
||||||
|
// 🚫 暂时不支持自动下载 - 已注释
|
||||||
|
// await downloadVideo(downloadUrl);
|
||||||
|
|
||||||
// notification.success({
|
// notification.success({
|
||||||
// message: '视频下载完成!',
|
// message: '视频下载完成!',
|
||||||
@ -721,16 +723,16 @@ export class VideoExportService {
|
|||||||
});
|
});
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// 自动下载视频
|
// 🚫 暂时不支持自动下载 - 已注释
|
||||||
if (finalExportResult.video_url) {
|
if (finalExportResult.video_url) {
|
||||||
console.log('📥 开始下载视频:', finalExportResult.video_url);
|
console.log('📥 视频导出完成,URL:', finalExportResult.video_url);
|
||||||
console.log('📋 视频文件信息:', {
|
console.log('📋 视频文件信息:', {
|
||||||
url: finalExportResult.video_url,
|
url: finalExportResult.video_url,
|
||||||
file_size: finalExportResult.file_size,
|
file_size: finalExportResult.file_size,
|
||||||
quality_mode: finalExportResult.quality_mode
|
quality_mode: finalExportResult.quality_mode
|
||||||
});
|
});
|
||||||
await downloadVideo(finalExportResult.video_url);
|
// await downloadVideo(finalExportResult.video_url);
|
||||||
console.log('✅ 视频下载完成');
|
console.log('✅ 视频导出完成,用户可手动下载');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 清除缓存的请求数据
|
// 清除缓存的请求数据
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user