remove play button overlay on video thumbnails

feat/vaults
Tomáš Mládek 2022-04-09 20:02:02 +02:00
parent fb2276b32d
commit 3b82b0ee69
No known key found for this signature in database
GPG Key ID: 65E225C8B3E2ED8A
2 changed files with 0 additions and 18 deletions

BIN
src/assets/play.png (Stored with Git LFS)

Binary file not shown.

View File

@ -1,13 +1,10 @@
use anyhow::anyhow;
use log::warn;
use std::io::Read;
use std::path::Path;
use std::process::Command;
use anyhow::Result;
use crate::common::get_static_dir;
use super::Previewable;
pub struct VideoPath<'a>(pub &'a Path);
@ -29,21 +26,9 @@ impl<'a> Previewable for VideoPath<'a> {
let duration = String::from_utf8_lossy(&duration_cmd.stdout)
.trim()
.parse::<f64>()?;
let play_button = get_static_dir("assets").map(|d| d.join("play.png")).ok();
let outfile = tempfile::Builder::new().suffix(".webp").tempfile()?;
let thumbnail_cmd = Command::new("ffmpeg")
.args(["-i", &self.0.to_string_lossy()])
.args(if let Some(play_button) = play_button {
vec![
"-i".to_string(),
play_button.to_string_lossy().to_string(),
"-filter_complex".to_string(),
"[0:v][1:v]overlay=(W-w)/2:(H-h)/2".to_string(),
]
} else {
warn!("Could not find play button to overlay for video thumbnail!");
vec![]
})
.args(["-vframes", "1"])
.args(["-ss", &(300f64.min(duration / 4.0)).to_string()])
.arg(&*outfile.path().to_string_lossy())