remove play button overlay on video thumbnails
This commit is contained in:
parent
fb2276b32d
commit
3b82b0ee69
2 changed files with 0 additions and 18 deletions
BIN
src/assets/play.png
(Stored with Git LFS)
BIN
src/assets/play.png
(Stored with Git LFS)
Binary file not shown.
|
@ -1,13 +1,10 @@
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use log::warn;
|
|
||||||
use std::io::Read;
|
use std::io::Read;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
|
||||||
use crate::common::get_static_dir;
|
|
||||||
|
|
||||||
use super::Previewable;
|
use super::Previewable;
|
||||||
|
|
||||||
pub struct VideoPath<'a>(pub &'a Path);
|
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)
|
let duration = String::from_utf8_lossy(&duration_cmd.stdout)
|
||||||
.trim()
|
.trim()
|
||||||
.parse::<f64>()?;
|
.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 outfile = tempfile::Builder::new().suffix(".webp").tempfile()?;
|
||||||
let thumbnail_cmd = Command::new("ffmpeg")
|
let thumbnail_cmd = Command::new("ffmpeg")
|
||||||
.args(["-i", &self.0.to_string_lossy()])
|
.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(["-vframes", "1"])
|
||||||
.args(["-ss", &(300f64.min(duration / 4.0)).to_string()])
|
.args(["-ss", &(300f64.min(duration / 4.0)).to_string()])
|
||||||
.arg(&*outfile.path().to_string_lossy())
|
.arg(&*outfile.path().to_string_lossy())
|
||||||
|
|
Loading…
Reference in a new issue