mixvideo-v2/cargos/tvai-v2/examples/quick_verify.rs

66 lines
2.2 KiB
Rust

use tvai_sdk::{TvaiSdk, TemplateBuilder};
fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("🚀 快速验证内置配置功能...\n");
// 创建 SDK
let sdk = TvaiSdk::new();
println!("✓ SDK 创建成功");
// 验证音频编解码器
let audio_count = sdk.ffmpeg_generator.get_available_audio_codecs().len();
println!("✓ 加载了 {} 个音频编解码器", audio_count);
// 验证视频编码器
let video_count = sdk.ffmpeg_generator.get_available_video_encoders().len();
println!("✓ 加载了 {} 个视频编码器", video_count);
// 验证 AAC 编解码器
if sdk.ffmpeg_generator.get_audio_codec("AAC").is_some() {
println!("✓ AAC 编解码器可用");
} else {
println!("✗ AAC 编解码器不可用");
}
// 验证 H.264 编码器
if sdk.ffmpeg_generator.get_video_encoder_by_name("H264").is_some() {
println!("✓ H.264 编码器可用");
} else {
println!("✗ H.264 编码器不可用");
}
// 验证模型推荐
let recommended = sdk.ffmpeg_generator.recommend_model_for_resolution(1080);
if !recommended.is_empty() {
println!("✓ 模型推荐功能正常: {:?}", recommended);
} else {
println!("✗ 模型推荐功能异常");
}
// 验证 FFmpeg 命令生成
let template = TemplateBuilder::new("验证测试")
.enable_enhancement("prob-4")
.build()?;
let command = sdk.generate_ffmpeg_command(&template, "test.mp4", "output.mp4")?;
if command.contains("ffmpeg") && command.contains("tvai_up") {
println!("✓ FFmpeg 命令生成正常");
} else {
println!("✗ FFmpeg 命令生成异常");
println!(" 命令: {}", command);
}
// 验证音频参数生成
let audio_params = sdk.ffmpeg_generator.generate_audio_codec_params("AAC", Some(192));
if audio_params.contains("-c:a") && audio_params.contains("192") {
println!("✓ 音频参数生成正常");
} else {
println!("✗ 音频参数生成异常: {}", audio_params);
}
println!("\n🎉 所有核心功能验证通过!");
println!("内置配置系统正常工作。");
Ok(())
}