From a9837b7938e8c527bd101cd6f88ee361e442ad0c Mon Sep 17 00:00:00 2001 From: uku Date: Mon, 19 May 2025 18:39:48 +0200 Subject: [PATCH] feat: support changing file name --- src/ffmpeg.rs | 13 +++++++++++-- src/main.rs | 1 - 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/ffmpeg.rs b/src/ffmpeg.rs index 0c3e036..df2d6e7 100644 --- a/src/ffmpeg.rs +++ b/src/ffmpeg.rs @@ -98,7 +98,16 @@ pub async fn convert_video( merge_tracks: bool, sender: Sender, ) -> Result { - let out_path = PathBuf::from("/tmp/out.webm"); + let out_filename = out_filename + .or_else(|| { + path.file_name() + .and_then(|s| s.to_str()) + .map(|s| s.to_owned()) + }) + .unwrap_or("out.webm".into()); + + let mut out_path = std::env::temp_dir().join(out_filename); + out_path.set_extension("webm"); let codec_args: &[&str] = match out_codec { Codec::AV1 => &["-c:v", "libsvtav1"], @@ -118,7 +127,7 @@ pub async fn convert_video( .args(["-c:a", "libopus", "-b:a", "96k"]) .args(codec_args) .args(merge_args) - .args(["-loglevel", "error", "-progress", "-", "-nostats"]) + .args(["-y", "-loglevel", "error", "-progress", "-", "-nostats"]) .arg(&out_path) .stdout(Stdio::piped()) .spawn()?; diff --git a/src/main.rs b/src/main.rs index fb0be26..d5c807c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -459,7 +459,6 @@ async fn the_process(app: UploadInfo, sender: &Sender) -> Resul .thumbnail_url(&app.config) .ok_or_eyre("could not get thumbnail url")?; - // TODO get w&h from video Ok(format!( "https://autocompressor.net/av1?v={}&i={}&w={}&h={}", Encoded(&zp_file.url),