feat: 完善水印处理工具功能
- 修复批量处理进度条不更新问题 - 实现任务状态管理器(task_manager.rs) - 添加实时进度更新和任务状态跟踪 - 完善前端进度轮询逻辑 - 丰富水印检测结果展示 - 添加详细检测结果信息(位置、置信度、类型等) - 显示处理统计和性能信息 - 优化结果展示UI和用户体验 - 修复水印模板上传和删除功能 - 实现内存存储系统管理模板 - 修复参数匹配问题 - 添加模板缩略图展示功能 - 优化文件上传体验 - 使用Tauri Dialog API替代HTML5文件输入 - 实现原生文件选择器 - 添加WatermarkTemplateThumbnail组件 - 完善水印工具集成 - 创建WatermarkTool页面 - 添加到便捷工具列表 - 完善路由配置和UI展示
This commit is contained in:
423
docs/watermark-processing-tool.md
Normal file
423
docs/watermark-processing-tool.md
Normal file
@@ -0,0 +1,423 @@
|
||||
# 批量水印处理工具 - 技术文档
|
||||
|
||||
## 概述
|
||||
|
||||
批量水印处理工具是 MixVideo Desktop 应用的核心功能模块,提供智能水印检测、移除和批量添加功能。该工具集成到现有的视频处理流水线中,支持多种水印类型和处理算法。
|
||||
|
||||
## 功能特性
|
||||
|
||||
### 1. 水印检测
|
||||
- **多算法支持**: 模板匹配、边缘检测、频域分析、透明度检测
|
||||
- **智能采样**: 基于帧采样率的高效检测
|
||||
- **区域检测**: 支持全帧、四角、边缘、中心等检测区域
|
||||
- **置信度评分**: 提供检测结果的可信度评估
|
||||
|
||||
### 2. 水印移除
|
||||
- **多种方法**: AI修复、模糊处理、裁剪移除、遮罩覆盖、内容感知填充、克隆修复
|
||||
- **质量控制**: 支持低、中、高、无损四种质量级别
|
||||
- **区域指定**: 可指定特定区域进行水印移除
|
||||
- **批量处理**: 支持大规模视频文件的批量处理
|
||||
|
||||
### 3. 水印添加
|
||||
- **多种类型**: 图片水印、矢量水印、文字水印、动态水印
|
||||
- **灵活定位**: 9个预设位置 + 自定义位置 + 动态位置
|
||||
- **丰富效果**: 透明度、缩放、旋转、动画、混合模式
|
||||
- **智能避让**: 可避开人脸、文字等重要内容
|
||||
|
||||
### 4. 模板管理
|
||||
- **分类管理**: Logo、版权、签名、装饰、自定义分类
|
||||
- **格式支持**: PNG、JPG、SVG、GIF等多种格式
|
||||
- **缩略图生成**: 自动生成预览缩略图
|
||||
- **导入导出**: 支持模板的导入导出功能
|
||||
|
||||
## 技术架构
|
||||
|
||||
### 后端架构 (Rust)
|
||||
|
||||
```
|
||||
apps/desktop/src-tauri/src/
|
||||
├── data/
|
||||
│ ├── models/watermark.rs # 数据模型定义
|
||||
│ └── repositories/
|
||||
│ └── watermark_template_repository.rs # 数据访问层
|
||||
├── business/
|
||||
│ ├── services/
|
||||
│ │ ├── watermark_detection_service.rs # 检测服务
|
||||
│ │ ├── watermark_removal_service.rs # 移除服务
|
||||
│ │ ├── watermark_addition_service.rs # 添加服务
|
||||
│ │ ├── watermark_template_service.rs # 模板管理服务
|
||||
│ │ └── batch_watermark_processor.rs # 批量处理器
|
||||
│ └── errors/watermark_errors.rs # 错误处理
|
||||
└── presentation/
|
||||
└── commands/watermark_commands.rs # Tauri命令接口
|
||||
```
|
||||
|
||||
### 前端架构 (React + TypeScript)
|
||||
|
||||
```
|
||||
apps/desktop/src/
|
||||
├── components/
|
||||
│ └── WatermarkToolDialog.tsx # 主界面组件
|
||||
├── types/
|
||||
│ └── watermark.ts # 类型定义
|
||||
└── hooks/
|
||||
└── useWatermarkProcessing.ts # 自定义Hook
|
||||
```
|
||||
|
||||
### 数据库设计
|
||||
|
||||
```sql
|
||||
-- 水印模板表
|
||||
CREATE TABLE watermark_templates (
|
||||
id TEXT PRIMARY KEY,
|
||||
name TEXT NOT NULL,
|
||||
file_path TEXT NOT NULL,
|
||||
thumbnail_path TEXT,
|
||||
category TEXT NOT NULL,
|
||||
watermark_type TEXT NOT NULL,
|
||||
file_size INTEGER NOT NULL,
|
||||
width INTEGER,
|
||||
height INTEGER,
|
||||
description TEXT,
|
||||
tags TEXT,
|
||||
is_active INTEGER DEFAULT 1,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 水印检测结果表
|
||||
CREATE TABLE watermark_detection_results (
|
||||
id TEXT PRIMARY KEY,
|
||||
material_id TEXT NOT NULL,
|
||||
detection_method TEXT NOT NULL,
|
||||
detections TEXT NOT NULL,
|
||||
confidence_score REAL NOT NULL,
|
||||
processing_time_ms INTEGER NOT NULL,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (material_id) REFERENCES materials(id)
|
||||
);
|
||||
|
||||
-- 批量处理任务表
|
||||
CREATE TABLE batch_watermark_tasks (
|
||||
task_id TEXT PRIMARY KEY,
|
||||
operation TEXT NOT NULL,
|
||||
material_ids TEXT NOT NULL,
|
||||
config TEXT NOT NULL,
|
||||
status TEXT NOT NULL DEFAULT 'Pending',
|
||||
progress TEXT NOT NULL,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
started_at DATETIME,
|
||||
completed_at DATETIME
|
||||
);
|
||||
|
||||
-- 处理结果表
|
||||
CREATE TABLE watermark_processing_results (
|
||||
id TEXT PRIMARY KEY,
|
||||
material_id TEXT NOT NULL,
|
||||
operation TEXT NOT NULL,
|
||||
success INTEGER NOT NULL,
|
||||
output_path TEXT,
|
||||
processing_time_ms INTEGER NOT NULL,
|
||||
error_message TEXT,
|
||||
metadata TEXT,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (material_id) REFERENCES materials(id)
|
||||
);
|
||||
```
|
||||
|
||||
## API 接口
|
||||
|
||||
### Tauri 命令
|
||||
|
||||
#### 水印检测
|
||||
```rust
|
||||
#[tauri::command]
|
||||
pub async fn detect_watermarks_in_video(
|
||||
state: State<'_, AppState>,
|
||||
material_id: String,
|
||||
video_path: String,
|
||||
config: WatermarkDetectionConfig,
|
||||
) -> Result<WatermarkDetectionResult, String>
|
||||
|
||||
#[tauri::command]
|
||||
pub async fn detect_watermarks_in_image(
|
||||
material_id: String,
|
||||
image_path: String,
|
||||
config: WatermarkDetectionConfig,
|
||||
) -> Result<WatermarkDetectionResult, String>
|
||||
```
|
||||
|
||||
#### 水印移除
|
||||
```rust
|
||||
#[tauri::command]
|
||||
pub async fn remove_watermarks_from_video(
|
||||
state: State<'_, AppState>,
|
||||
material_id: String,
|
||||
input_path: String,
|
||||
output_path: String,
|
||||
config: WatermarkRemovalConfig,
|
||||
) -> Result<WatermarkProcessingResult, String>
|
||||
```
|
||||
|
||||
#### 水印添加
|
||||
```rust
|
||||
#[tauri::command]
|
||||
pub async fn add_watermark_to_video(
|
||||
state: State<'_, AppState>,
|
||||
material_id: String,
|
||||
input_path: String,
|
||||
output_path: String,
|
||||
watermark_path: String,
|
||||
config: WatermarkConfig,
|
||||
) -> Result<WatermarkProcessingResult, String>
|
||||
```
|
||||
|
||||
#### 批量处理
|
||||
```rust
|
||||
#[tauri::command]
|
||||
pub async fn start_batch_watermark_task(
|
||||
state: State<'_, AppState>,
|
||||
operation: WatermarkOperation,
|
||||
material_ids: Vec<String>,
|
||||
config: serde_json::Value,
|
||||
) -> Result<String, String>
|
||||
```
|
||||
|
||||
#### 模板管理
|
||||
```rust
|
||||
#[tauri::command]
|
||||
pub async fn get_watermark_templates(
|
||||
category: Option<String>,
|
||||
watermark_type: Option<String>,
|
||||
) -> Result<Vec<WatermarkTemplate>, String>
|
||||
|
||||
#[tauri::command]
|
||||
pub async fn upload_watermark_template(
|
||||
name: String,
|
||||
file_path: String,
|
||||
category: String,
|
||||
watermark_type: String,
|
||||
description: Option<String>,
|
||||
tags: Vec<String>,
|
||||
) -> Result<WatermarkTemplate, String>
|
||||
```
|
||||
|
||||
## 配置参数
|
||||
|
||||
### 检测配置 (WatermarkDetectionConfig)
|
||||
```typescript
|
||||
interface WatermarkDetectionConfig {
|
||||
similarity_threshold: number; // 相似度阈值 0.0-1.0
|
||||
min_watermark_size: [number, number]; // 最小水印尺寸
|
||||
max_watermark_size: [number, number]; // 最大水印尺寸
|
||||
detection_regions: DetectionRegion[]; // 检测区域
|
||||
frame_sample_rate: number; // 帧采样率
|
||||
methods: DetectionMethod[]; // 检测方法
|
||||
template_ids?: string[]; // 指定模板ID
|
||||
}
|
||||
```
|
||||
|
||||
### 移除配置 (WatermarkRemovalConfig)
|
||||
```typescript
|
||||
interface WatermarkRemovalConfig {
|
||||
method: RemovalMethod; // 移除方法
|
||||
quality_level: QualityLevel; // 质量级别
|
||||
preserve_aspect_ratio: boolean; // 保持宽高比
|
||||
target_regions?: BoundingBox[]; // 目标区域
|
||||
blur_radius?: number; // 模糊半径
|
||||
crop_margin?: number; // 裁剪边距
|
||||
}
|
||||
```
|
||||
|
||||
### 添加配置 (WatermarkConfig)
|
||||
```typescript
|
||||
interface WatermarkConfig {
|
||||
watermark_type: WatermarkType; // 水印类型
|
||||
position: WatermarkPosition; // 位置
|
||||
opacity: number; // 透明度 0.0-1.0
|
||||
scale: number; // 缩放比例
|
||||
rotation: number; // 旋转角度
|
||||
animation?: WatermarkAnimation; // 动画配置
|
||||
blend_mode: BlendMode; // 混合模式
|
||||
quality_level: QualityLevel; // 质量级别
|
||||
}
|
||||
```
|
||||
|
||||
## 性能优化
|
||||
|
||||
### 1. 并行处理
|
||||
- 使用 Rayon 并行处理多个视频文件
|
||||
- 异步任务队列管理批量处理
|
||||
- 智能任务调度和资源分配
|
||||
|
||||
### 2. 内存优化
|
||||
- 分块处理大视频文件
|
||||
- 及时释放临时资源
|
||||
- 缓存机制减少重复计算
|
||||
|
||||
### 3. 算法优化
|
||||
- 智能帧采样减少计算量
|
||||
- 多级检测策略提高效率
|
||||
- 预处理优化提升检测精度
|
||||
|
||||
### 4. 缓存策略
|
||||
- 检测结果缓存
|
||||
- 水印模板缓存
|
||||
- 缩略图缓存
|
||||
|
||||
## 错误处理
|
||||
|
||||
### 错误类型
|
||||
```rust
|
||||
pub enum WatermarkError {
|
||||
DetectionFailed { message: String },
|
||||
RemovalFailed { message: String },
|
||||
AdditionFailed { message: String },
|
||||
UnsupportedFormat { format: String, supported: Vec<String> },
|
||||
FFmpegError { message: String },
|
||||
TemplateNotFound { template_id: String },
|
||||
BatchTaskFailed { task_id: String, message: String },
|
||||
// ... 更多错误类型
|
||||
}
|
||||
```
|
||||
|
||||
### 错误分类
|
||||
- **用户错误**: 输入验证、格式不支持、模板不存在等
|
||||
- **系统错误**: FFmpeg执行失败、文件操作失败、数据库错误等
|
||||
- **网络错误**: 连接超时、请求失败等(可重试)
|
||||
|
||||
### 错误恢复
|
||||
- 自动重试机制
|
||||
- 优雅降级处理
|
||||
- 详细错误日志记录
|
||||
|
||||
## 测试策略
|
||||
|
||||
### 单元测试
|
||||
- 数据模型验证
|
||||
- 业务逻辑测试
|
||||
- 错误处理测试
|
||||
- 配置验证测试
|
||||
|
||||
### 集成测试
|
||||
- 端到端处理流程
|
||||
- 数据库操作测试
|
||||
- 文件系统交互测试
|
||||
|
||||
### 性能测试
|
||||
- 大批量文件处理
|
||||
- 内存使用监控
|
||||
- 处理时间基准测试
|
||||
|
||||
## 部署和配置
|
||||
|
||||
### 依赖要求
|
||||
- FFmpeg (视频处理)
|
||||
- SQLite (数据存储)
|
||||
- OpenCV (图像处理,可选)
|
||||
|
||||
### 配置文件
|
||||
```toml
|
||||
[watermark]
|
||||
# 默认检测配置
|
||||
default_similarity_threshold = 0.8
|
||||
default_frame_sample_rate = 30
|
||||
|
||||
# 性能配置
|
||||
max_concurrent_tasks = 4
|
||||
max_memory_usage_mb = 2048
|
||||
|
||||
# 文件路径配置
|
||||
template_directory = "watermarks/templates"
|
||||
cache_directory = "watermarks/cache"
|
||||
temp_directory = "watermarks/temp"
|
||||
```
|
||||
|
||||
### 目录结构
|
||||
```
|
||||
watermarks/
|
||||
├── templates/ # 水印模板存储
|
||||
│ ├── {template_id}/
|
||||
│ │ ├── template.png
|
||||
│ │ └── thumbnail.jpg
|
||||
├── cache/ # 缓存文件
|
||||
└── temp/ # 临时文件
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
### 前端调用示例
|
||||
```typescript
|
||||
// 检测水印
|
||||
const detectionResult = await invoke('detect_watermarks_in_video', {
|
||||
materialId: 'material_123',
|
||||
videoPath: '/path/to/video.mp4',
|
||||
config: {
|
||||
similarity_threshold: 0.8,
|
||||
frame_sample_rate: 30,
|
||||
methods: ['TemplateMatching', 'EdgeDetection']
|
||||
}
|
||||
});
|
||||
|
||||
// 批量移除水印
|
||||
const taskId = await invoke('start_batch_watermark_task', {
|
||||
operation: 'Remove',
|
||||
materialIds: ['material_1', 'material_2'],
|
||||
config: {
|
||||
method: 'Blurring',
|
||||
quality_level: 'Medium',
|
||||
blur_radius: 5.0
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
## 扩展性
|
||||
|
||||
### 新增检测算法
|
||||
1. 在 `DetectionMethod` 枚举中添加新方法
|
||||
2. 在 `WatermarkDetectionService` 中实现算法
|
||||
3. 更新配置和文档
|
||||
|
||||
### 新增移除方法
|
||||
1. 在 `RemovalMethod` 枚举中添加新方法
|
||||
2. 在 `WatermarkRemovalService` 中实现方法
|
||||
3. 添加相应的配置参数
|
||||
|
||||
### 新增水印类型
|
||||
1. 在 `WatermarkType` 枚举中添加类型
|
||||
2. 更新模板验证逻辑
|
||||
3. 实现对应的处理逻辑
|
||||
|
||||
## 维护和监控
|
||||
|
||||
### 日志记录
|
||||
- 结构化日志输出
|
||||
- 性能指标记录
|
||||
- 错误详情追踪
|
||||
|
||||
### 监控指标
|
||||
- 处理成功率
|
||||
- 平均处理时间
|
||||
- 内存使用情况
|
||||
- 错误频率统计
|
||||
|
||||
### 故障排查
|
||||
- 详细的错误上下文
|
||||
- 处理步骤追踪
|
||||
- 性能瓶颈分析
|
||||
|
||||
## 版本历史
|
||||
|
||||
### v1.0.0 (当前版本)
|
||||
- 基础水印检测、移除、添加功能
|
||||
- 模板管理系统
|
||||
- 批量处理支持
|
||||
- 错误处理和日志系统
|
||||
- 单元测试和集成测试
|
||||
|
||||
### 未来规划
|
||||
- AI增强的水印检测算法
|
||||
- 更多水印类型支持
|
||||
- 云端处理能力
|
||||
- 实时预览功能
|
||||
- 性能优化和算法改进
|
||||
284
docs/watermark-tool-user-guide.md
Normal file
284
docs/watermark-tool-user-guide.md
Normal file
@@ -0,0 +1,284 @@
|
||||
# 批量水印处理工具 - 用户使用指南
|
||||
|
||||
## 功能概述
|
||||
|
||||
批量水印处理工具是 MixVideo Desktop 的核心功能之一,帮助您快速处理视频和图片中的水印。支持三大核心功能:
|
||||
|
||||
- **🔍 水印检测**: 智能识别视频/图片中的水印位置和类型
|
||||
- **🗑️ 水印移除**: 使用多种算法移除不需要的水印
|
||||
- **➕ 水印添加**: 为内容添加自定义水印保护版权
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 打开水印工具
|
||||
|
||||
1. 在项目详情页面选择需要处理的素材
|
||||
2. 点击工具栏中的"水印处理"按钮
|
||||
3. 水印处理对话框将会打开
|
||||
|
||||
### 2. 选择处理模式
|
||||
|
||||
工具提供三个标签页,对应不同的处理模式:
|
||||
|
||||
- **检测水印**: 分析素材中的水印
|
||||
- **移除水印**: 去除现有水印
|
||||
- **添加水印**: 添加新的水印
|
||||
|
||||
## 详细功能说明
|
||||
|
||||
### 🔍 水印检测
|
||||
|
||||
#### 功能说明
|
||||
水印检测功能可以自动识别视频或图片中的水印,并提供详细的检测报告。
|
||||
|
||||
#### 配置选项
|
||||
|
||||
**相似度阈值** (0.1 - 1.0)
|
||||
- 控制检测的敏感度
|
||||
- 数值越高,检测越严格
|
||||
- 建议值:0.8
|
||||
|
||||
**帧采样率** (1 - 60)
|
||||
- 对于视频,每隔多少帧检测一次
|
||||
- 数值越小,检测越精确,但处理时间更长
|
||||
- 建议值:30
|
||||
|
||||
**检测方法**
|
||||
- ✅ **模板匹配**: 基于已知水印模板进行匹配
|
||||
- ✅ **边缘检测**: 检测重复出现的边缘特征
|
||||
- ✅ **频域分析**: 分析图像频域中的周期性模式
|
||||
- ✅ **透明度检测**: 识别半透明叠加层
|
||||
|
||||
#### 使用步骤
|
||||
|
||||
1. 选择"检测水印"标签页
|
||||
2. 调整检测参数(使用默认值即可)
|
||||
3. 点击"开始检测水印"按钮
|
||||
4. 等待检测完成,查看结果报告
|
||||
|
||||
#### 检测结果
|
||||
|
||||
检测完成后,您将看到:
|
||||
- 检测到的水印数量
|
||||
- 每个水印的位置和置信度
|
||||
- 水印类型(如果能识别)
|
||||
- 处理时间统计
|
||||
|
||||
### 🗑️ 水印移除
|
||||
|
||||
#### 功能说明
|
||||
水印移除功能提供多种算法来去除不需要的水印,保持视频/图片的整体质量。
|
||||
|
||||
#### 移除方法
|
||||
|
||||
**AI修复** (推荐)
|
||||
- 使用人工智能算法智能填充水印区域
|
||||
- 效果最佳,但处理时间较长
|
||||
- 适用于复杂背景的水印
|
||||
|
||||
**模糊处理**
|
||||
- 对水印区域进行模糊处理
|
||||
- 处理速度快,适用于简单场景
|
||||
- 可调节模糊半径 (1-20)
|
||||
|
||||
**裁剪移除**
|
||||
- 通过裁剪去除边缘水印
|
||||
- 会改变视频/图片尺寸
|
||||
- 可设置裁剪边距 (像素)
|
||||
|
||||
**遮罩覆盖**
|
||||
- 使用纯色或图案覆盖水印
|
||||
- 适用于固定位置的水印
|
||||
- 处理速度最快
|
||||
|
||||
**内容感知填充**
|
||||
- 分析周围内容智能填充
|
||||
- 效果自然,适用于纹理背景
|
||||
|
||||
**克隆修复**
|
||||
- 使用周围相似区域修复水印
|
||||
- 适用于重复纹理背景
|
||||
|
||||
#### 质量级别
|
||||
|
||||
- **低质量(快速)**: 优先处理速度
|
||||
- **中等质量**: 平衡质量和速度
|
||||
- **高质量**: 优先输出质量
|
||||
- **无损质量**: 最高质量,处理时间最长
|
||||
|
||||
#### 使用步骤
|
||||
|
||||
1. 选择"移除水印"标签页
|
||||
2. 选择移除方法和质量级别
|
||||
3. 如果选择模糊处理,调整模糊半径
|
||||
4. 点击"开始移除水印"按钮
|
||||
5. 等待处理完成
|
||||
|
||||
### ➕ 水印添加
|
||||
|
||||
#### 功能说明
|
||||
为您的内容添加自定义水印,保护版权或添加品牌标识。
|
||||
|
||||
#### 水印模板管理
|
||||
|
||||
**上传新模板**
|
||||
1. 点击"上传新模板"按钮
|
||||
2. 选择水印文件(支持 PNG、JPG、SVG、GIF)
|
||||
3. 填写模板信息:
|
||||
- 模板名称
|
||||
- 分类(Logo、版权、签名、装饰、自定义)
|
||||
- 描述和标签
|
||||
4. 确认上传
|
||||
|
||||
**模板分类**
|
||||
- **Logo**: 公司或品牌标识
|
||||
- **版权**: 版权声明文字或图标
|
||||
- **签名**: 个人签名或标识
|
||||
- **装饰**: 装饰性图案
|
||||
- **自定义**: 其他类型水印
|
||||
|
||||
#### 水印配置
|
||||
|
||||
**位置设置**
|
||||
- 9个预设位置:左上、顶部居中、右上、左侧居中、居中、右侧居中、左下、底部居中、右下
|
||||
- 自定义位置:手动指定坐标
|
||||
- 动态位置:智能避开人脸和文字
|
||||
|
||||
**外观设置**
|
||||
- **透明度** (10% - 100%): 控制水印的透明程度
|
||||
- **缩放比例** (0.1x - 3.0x): 调整水印大小
|
||||
- **旋转角度** (-180° - 180°): 旋转水印角度
|
||||
|
||||
**高级设置**
|
||||
- **混合模式**: 正常、叠加、柔光等
|
||||
- **动画效果**: 淡入、滑入、旋转等(仅视频)
|
||||
- **质量级别**: 控制输出质量
|
||||
|
||||
#### 使用步骤
|
||||
|
||||
1. 选择"添加水印"标签页
|
||||
2. 从模板库中选择水印模板
|
||||
3. 调整位置、透明度、缩放等参数
|
||||
4. 预览效果(如果支持)
|
||||
5. 点击"开始添加水印"按钮
|
||||
6. 等待处理完成
|
||||
|
||||
## 批量处理
|
||||
|
||||
### 处理进度
|
||||
|
||||
当启动批量处理任务后,您可以看到:
|
||||
|
||||
- **总体进度**: 显示处理百分比
|
||||
- **处理统计**: 已处理/总数量/失败数量
|
||||
- **当前项目**: 正在处理的素材名称
|
||||
- **预估时间**: 剩余处理时间
|
||||
- **错误信息**: 如果有处理失败的项目
|
||||
|
||||
### 任务管理
|
||||
|
||||
- **暂停/继续**: 可以暂停正在进行的任务
|
||||
- **取消任务**: 停止处理并清理临时文件
|
||||
- **查看详情**: 查看每个素材的处理结果
|
||||
|
||||
## 最佳实践
|
||||
|
||||
### 检测水印
|
||||
|
||||
1. **首次使用建议使用默认参数**,根据结果调整
|
||||
2. **对于低质量视频**,适当降低相似度阈值
|
||||
3. **对于大文件**,可以增加帧采样率以提高速度
|
||||
4. **组合使用多种检测方法**以提高准确率
|
||||
|
||||
### 移除水印
|
||||
|
||||
1. **优先尝试AI修复**,效果通常最好
|
||||
2. **对于边缘水印**,考虑使用裁剪移除
|
||||
3. **对于简单背景**,模糊处理效果不错且速度快
|
||||
4. **处理重要内容时选择高质量级别**
|
||||
|
||||
### 添加水印
|
||||
|
||||
1. **选择合适的位置**,避免遮挡重要内容
|
||||
2. **调整透明度**,既要保护版权又不影响观看
|
||||
3. **对于不同类型的内容使用不同的水印**
|
||||
4. **定期备份水印模板**
|
||||
|
||||
## 常见问题
|
||||
|
||||
### Q: 检测不到水印怎么办?
|
||||
A: 尝试以下方法:
|
||||
- 降低相似度阈值
|
||||
- 增加检测方法
|
||||
- 检查水印是否在检测区域内
|
||||
- 对于视频,减少帧采样率
|
||||
|
||||
### Q: 移除水印后效果不理想?
|
||||
A: 可以尝试:
|
||||
- 更换移除方法
|
||||
- 提高质量级别
|
||||
- 手动指定水印区域
|
||||
- 使用AI修复方法
|
||||
|
||||
### Q: 添加的水印位置不合适?
|
||||
A: 建议:
|
||||
- 使用动态位置避开重要内容
|
||||
- 手动调整位置坐标
|
||||
- 降低透明度减少干扰
|
||||
- 选择合适的混合模式
|
||||
|
||||
### Q: 处理速度太慢?
|
||||
A: 优化建议:
|
||||
- 选择较低的质量级别
|
||||
- 增加帧采样率(检测时)
|
||||
- 减少同时处理的文件数量
|
||||
- 关闭不必要的检测方法
|
||||
|
||||
### Q: 批量处理中断了怎么办?
|
||||
A: 处理方法:
|
||||
- 重新启动任务,已处理的文件会被跳过
|
||||
- 检查错误日志找出问题原因
|
||||
- 单独处理失败的文件
|
||||
- 确保有足够的磁盘空间
|
||||
|
||||
## 技术限制
|
||||
|
||||
### 支持的文件格式
|
||||
|
||||
**视频格式**
|
||||
- MP4, AVI, MOV, MKV, WMV, FLV
|
||||
|
||||
**图片格式**
|
||||
- JPG, PNG, BMP, TIFF, WebP
|
||||
|
||||
**水印格式**
|
||||
- PNG (推荐,支持透明)
|
||||
- JPG, BMP, TIFF
|
||||
- SVG (矢量图)
|
||||
- GIF (动态水印)
|
||||
|
||||
### 性能要求
|
||||
|
||||
- **内存**: 建议 8GB 以上
|
||||
- **存储**: 处理过程中需要额外存储空间
|
||||
- **CPU**: 多核处理器可提高批量处理速度
|
||||
|
||||
### 注意事项
|
||||
|
||||
1. **备份原文件**: 处理前请备份重要文件
|
||||
2. **版权合规**: 确保有权处理相关内容
|
||||
3. **质量损失**: 某些处理可能导致轻微质量损失
|
||||
4. **处理时间**: 高质量处理需要更多时间
|
||||
|
||||
## 获取帮助
|
||||
|
||||
如果您在使用过程中遇到问题:
|
||||
|
||||
1. 查看本用户指南的常见问题部分
|
||||
2. 检查应用程序的日志文件
|
||||
3. 联系技术支持团队
|
||||
4. 访问在线帮助文档
|
||||
|
||||
---
|
||||
|
||||
*本指南会随着功能更新而持续完善,建议定期查看最新版本。*
|
||||
Reference in New Issue
Block a user