use ffmpeg_sidecar::{
command::ffmpeg_is_installed,
download::{check_latest_version, download_ffmpeg_package, ffmpeg_download_url, unpack_ffmpeg},
error::Result,
paths::sidecar_dir,
version::ffmpeg_version,
};
fn main() -> Result<()> {
if ffmpeg_is_installed() {
println!("FFmpeg is already installed! 🎉");
println!("For demo purposes, we'll re-download and unpack it anyway.");
println!("TIP: Use `auto_download()` to skip manual customization.");
}
match check_latest_version() {
Ok(version) => println!("Latest available version: {}", version),
Err(_) => println!("Skipping version check on this platform."),
}
let download_url = ffmpeg_download_url()?;
let destination = sidecar_dir()?;
println!("Downloading from: {:?}", download_url);
let archive_path = download_ffmpeg_package(download_url, &destination)?;
println!("Downloaded package: {:?}", archive_path);
println!("Extracting...");
unpack_ffmpeg(&archive_path, &destination)?;
let version = ffmpeg_version()?;
println!("FFmpeg version: {}", version);
println!("Done! 🏁");
Ok(())
}