项目初始化完成 - 创建 cargos/tvai 项目结构 - 配置 Cargo.toml 依赖和工作空间 - 实现基础错误类型 TvaiError FFmpeg 管理模块 - 实现 FfmpegManager 结构体 - FFmpeg 路径检测和验证 (系统 vs Topaz) - 基础命令执行框架 - 支持 Windows/Linux/macOS 平台 核心处理引擎框架 - TvaiProcessor 主结构体 - TvaiConfig 配置管理和 Builder 模式 - 临时文件管理和自动清理 - GPU 检测和配置 模型和参数定义 - 16种超分辨率模型枚举 (Iris3, Nyx3, Thf4 等) - 4种插值模型枚举 (Apo8, Chr2 等) - 质量预设和编码设置 - 完整的参数结构体和验证 模块结构完整 - video/ 视频处理模块框架 - image/ 图片处理模块框架 - config/ 配置管理模块 - utils/ 工具函数模块 系统检测功能 - Topaz Video AI 安装检测 - GPU 支持检测 - FFmpeg 可用性检测 文档和示例 - 完整的 README 文档 - 基础使用示例 - API 文档注释 测试结果 - 编译通过 (cargo check) - 示例运行成功 - 检测到 Topaz Video AI 安装 - 所有模块结构就绪 下一步: 开始阶段二 - 核心处理引擎实现
45 lines
1.3 KiB
Rust
45 lines
1.3 KiB
Rust
//! Basic usage example for the tvai library
|
|
|
|
use tvai::*;
|
|
|
|
#[tokio::main]
|
|
async fn main() -> std::result::Result<(), Box<dyn std::error::Error>> {
|
|
println!("Topaz Video AI Library - Basic Usage Example");
|
|
|
|
// Detect Topaz installation
|
|
if let Some(topaz_path) = detect_topaz_installation() {
|
|
println!("Found Topaz Video AI at: {}", topaz_path.display());
|
|
|
|
// Create configuration
|
|
let config = TvaiConfig::builder()
|
|
.topaz_path(topaz_path)
|
|
.use_gpu(true)
|
|
.build()?;
|
|
|
|
// Create processor
|
|
let _processor = TvaiProcessor::new(config)?;
|
|
println!("Processor created successfully");
|
|
|
|
// Check GPU support
|
|
let gpu_info = detect_gpu_support();
|
|
println!("GPU available: {}", gpu_info.available);
|
|
|
|
// Example: Quick video upscaling (commented out as it requires actual files)
|
|
/*
|
|
let result = quick_upscale_video(
|
|
Path::new("input.mp4"),
|
|
Path::new("output.mp4"),
|
|
2.0,
|
|
).await?;
|
|
|
|
println!("Processing completed in {:?}", result.processing_time);
|
|
*/
|
|
|
|
println!("Example completed successfully!");
|
|
} else {
|
|
println!("Topaz Video AI not found. Please install it first.");
|
|
}
|
|
|
|
Ok(())
|
|
}
|