use std::str::FromStr;
use test_log::test;
use tracing::{debug, error};
use crate::probe::{get_attribute_from_meta, get_metadata};
use super::*;
fn init() -> Encoder {
Encoder::default()
}
fn reencode() {
let e = init();
let p = PathBuf::from_str("test.mp4").unwrap();
e.reencode(p).unwrap();
}
fn probe() {
let p = PathBuf::from_str("test.mp4").unwrap();
let m = get_metadata(&p).unwrap();
debug!("{:?}", m);
assert_eq!(16, m.aspect_ratio.as_ref().unwrap().0);
assert_eq!(9, m.aspect_ratio.as_ref().unwrap().1);
let a = get_attribute_from_meta("duration", &p);
debug!("{:?}", a);
}
fn picture_to_video() {
let e = init();
let imag = PathBuf::from_str("test.jpg").unwrap();
let video_4_aspectratio = PathBuf::from_str("test.mp4").unwrap();
let m = get_metadata(&video_4_aspectratio).unwrap();
match e.picture_to_video(imag, Some(5), m.resolution) {
Ok(p2) => debug!("{:?}", p2),
Err(e) => {
error!("{:?}, {}", e, e.to_string());
assert!(false)
}
};
}
#[test]
fn trim_video() {
let e = init();
let p = PathBuf::from_str("test2.mp4").unwrap();
let m = get_metadata(&p).unwrap();
e.trim_video(p, Some(5000), Some(20000), m.duration)
.unwrap();
}