diff --git a/transcoder/Cargo.lock b/transcoder/Cargo.lock index beab38a2..d2dd0728 100644 --- a/transcoder/Cargo.lock +++ b/transcoder/Cargo.lock @@ -1112,17 +1112,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha-1" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - [[package]] name = "sha1" version = "0.10.5" @@ -1317,7 +1306,6 @@ dependencies = [ "rand", "reqwest", "serde", - "sha-1", "tokio", "utoipa", ] diff --git a/transcoder/Cargo.toml b/transcoder/Cargo.toml index 86869909..23d66708 100644 --- a/transcoder/Cargo.toml +++ b/transcoder/Cargo.toml @@ -13,4 +13,3 @@ derive_more = "0.99.17" reqwest = { version = "0.11.16", default_features = false, features = ["json", "rustls-tls"] } utoipa = { version = "3", features = ["actix_extras"] } json = "0.12.4" -sha-1 = "0.10.1" diff --git a/transcoder/src/identify.rs b/transcoder/src/identify.rs index cfa25456..083a9aa6 100644 --- a/transcoder/src/identify.rs +++ b/transcoder/src/identify.rs @@ -1,6 +1,5 @@ use json::JsonValue; use serde::Serialize; -use sha1::{Digest, Sha1}; use std::{ collections::HashMap, fs, io, @@ -103,6 +102,7 @@ pub struct Chapter { } async fn extract(path: String, sha: &String, subs: &Vec) { + println!("Extract subs and fonts for {}", path); let mut cmd = Command::new("ffmpeg"); cmd.current_dir(format!("/metadata/{sha}/att/")) .args(&["-dump_attachment:t", ""]) @@ -141,16 +141,13 @@ pub async fn identify(path: String) -> Result { assert!(mediainfo.status.success()); let output = json::parse(str::from_utf8(mediainfo.stdout.as_slice()).unwrap()).unwrap(); - let mut file = fs::File::open(&path)?; - let mut hasher = Sha1::new(); - io::copy(&mut file, &mut hasher)?; - let sha = format!("{:x}", hasher.finalize()); - let general = output["media"]["track"] .members() .find(|x| x["@type"] == "General") .unwrap(); + let sha = general["UniqueID"].to_string(); + let subs: Vec = output["media"]["track"] .members() .filter(|x| x["@type"] == "Text")