diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..5faec1e --- /dev/null +++ b/src/main.rs @@ -0,0 +1,37 @@ +use clap::Parser; +use video_probe::*; +use anyhow::Result; + +#[derive(Parser, Debug)] +#[command( + name = "video_probe", + author, + version, + about = "Extract video metadata using ffprobe", + long_about = None +)] +struct Args { + /// Video file path + video_path: String, +} + +fn main() -> Result<()> { + let args = Args::parse(); + + println!("Probing video: {}", args.video_path); + println!("{}", "=".repeat(60)); + + // Probe video + let metadata = probe_video(&args.video_path)?; + + // Save to file + let output_file = save_metadata(&args.video_path, &metadata)?; + + // Print summary + print_summary(&metadata); + + println!("\n✓ Metadata saved to: {}", output_file); + println!("{}", "=".repeat(60)); + + Ok(()) +} \ No newline at end of file