feat: 完整实现TVAI视频增强功能

主要功能:
- 集成Topaz Video AI SDK到桌面应用
- 支持视频放大、图片增强、视频插帧三种处理类型
- 完整的16个放大模型 + 4个插帧模型支持
- 用户友好的渐进式界面设计

 技术实现:
- Rust SDK: 完整的TVAI处理能力
- Tauri命令: 异步任务管理和进度跟踪
- React组件: 现代化UI和文件选择
- TypeScript服务: 类型安全的API调用

 用户体验:
- 步骤化引导 (选择类型  选择文件  处理设置)
- 智能预设系统 (老视频、游戏内容、动画、人像、通用)
- 原生文件对话框和自动路径生成
- 实时任务进度和状态管理

 修复:
- React Hooks调用顺序错误
- 插帧功能从占位符到完整实现
- 文件选择从手动输入到原生对话框

 文档:
- 完整的集成文档和使用指南
- 详细的功能总结和技术说明
This commit is contained in:
imeepos
2025-08-11 18:02:53 +08:00
parent 051ef0b8f9
commit b7c16d70cf
21 changed files with 3980 additions and 1 deletions

View File

@@ -58,6 +58,7 @@ pub type Result<T> = std::result::Result<T, TvaiError>;
// Quick processing functions
pub use video::quick_upscale_video;
pub use video::quick_interpolate_video;
pub use image::quick_upscale_image;
pub use video::auto_enhance_video;

View File

@@ -303,3 +303,35 @@ pub async fn auto_enhance_video(
// Perform enhancement
processor.enhance_video(input, output, enhance_params, None).await
}
/// Quick video interpolation function
pub async fn quick_interpolate_video(
input: &Path,
output: &Path,
multiplier: f32,
input_fps: u32,
) -> Result<ProcessResult, TvaiError> {
// Detect Topaz installation
let topaz_path = crate::utils::detect_topaz_installation()
.ok_or_else(|| TvaiError::TopazNotFound("Topaz Video AI not found".to_string()))?;
// Create default configuration
let config = crate::core::TvaiConfig::builder()
.topaz_path(topaz_path)
.use_gpu(true)
.build()?;
// Create processor
let mut processor = TvaiProcessor::new(config)?;
// Create default interpolation parameters
let params = InterpolationParams {
input_fps,
multiplier,
model: crate::config::InterpolationModel::Apo8, // Best general purpose interpolation model
target_fps: None, // Auto-calculate based on multiplier
};
// Perform interpolation
processor.interpolate_video(input, output, params, None).await
}