woopwoop
parent
90569967c7
commit
ffb2c2bd34
|
|
@ -1,5 +1,24 @@
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use core::cmp::Ordering;
|
use core::cmp::Ordering;
|
||||||
|
use std::fs;
|
||||||
|
|
||||||
|
pub fn clipify(input: &String) -> Result<Vec<String>, String> {
|
||||||
|
match inspect(input) {
|
||||||
|
Ok(inspection) => {
|
||||||
|
let output_d = format!("{}.d", input);
|
||||||
|
fs::create_dir_all(&output_d).unwrap();
|
||||||
|
let ext = input.split(".").last().unwrap();
|
||||||
|
let mut result = vec![];
|
||||||
|
for i in 0..inspection.len() {
|
||||||
|
let output = format!("{}/{}.{}", output_d, i, ext);
|
||||||
|
let _ = clip(&output, input, inspection[i])?;
|
||||||
|
result.push(output);
|
||||||
|
}
|
||||||
|
Ok(result)
|
||||||
|
},
|
||||||
|
Err(msg) => Err(msg),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn clip(output: &String, input: &String, content_span: ContentSpan) -> Result<(), String> {
|
pub fn clip(output: &String, input: &String, content_span: ContentSpan) -> Result<(), String> {
|
||||||
match std::process::Command::new("ffmpeg")
|
match std::process::Command::new("ffmpeg")
|
||||||
|
|
@ -11,7 +30,10 @@ pub fn clip(output: &String, input: &String, content_span: ContentSpan) -> Resul
|
||||||
output,
|
output,
|
||||||
])
|
])
|
||||||
.output() {
|
.output() {
|
||||||
Ok(_) => Ok(()),
|
Ok(output) => match output.status.success() {
|
||||||
|
true => Ok(()),
|
||||||
|
false => Err(format!("failed to ffmpeg clip {}: {}", input, String::from_utf8(output.stderr).unwrap())),
|
||||||
|
},
|
||||||
Err(msg) => Err(format!("failed to ffmpeg clip {}: {}", input, msg)),
|
Err(msg) => Err(format!("failed to ffmpeg clip {}: {}", input, msg)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -201,6 +223,14 @@ mod test_inspection {
|
||||||
use super::*;
|
use super::*;
|
||||||
const FILE: &str = "/Users/breel/Movies/bel_1_1.mp4";
|
const FILE: &str = "/Users/breel/Movies/bel_1_1.mp4";
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_clipify() {
|
||||||
|
let result = clipify(&FILE.to_string()).unwrap();
|
||||||
|
for i in result.iter() {
|
||||||
|
eprintln!("{}", i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_screenshot() {
|
fn test_screenshot() {
|
||||||
let output = format!("{}.clipped.jpg", FILE);
|
let output = format!("{}.clipped.jpg", FILE);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue