|
|
|
@ -54,7 +54,7 @@ struct FFprobeOutput {
|
|
|
|
|
}
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
|
struct FFprobeStream {
|
|
|
|
|
index: i32, // stream index
|
|
|
|
|
index: i32, // stream index
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[async_trait]
|
|
|
|
@ -83,10 +83,14 @@ impl WritingFileAdapter for FFmpegAdapter {
|
|
|
|
|
let subtitle_streams = {
|
|
|
|
|
let probe = Command::new("ffprobe")
|
|
|
|
|
.args(vec![
|
|
|
|
|
"-v", "error", // show all errors
|
|
|
|
|
"-select_streams", "s", // show only subtitle streams
|
|
|
|
|
"-of", "json", // use json as output format
|
|
|
|
|
"-show_entries", "stream=index", // show index of subtitle streams
|
|
|
|
|
"-v",
|
|
|
|
|
"error", // show all errors
|
|
|
|
|
"-select_streams",
|
|
|
|
|
"s", // show only subtitle streams
|
|
|
|
|
"-of",
|
|
|
|
|
"json", // use json as output format
|
|
|
|
|
"-show_entries",
|
|
|
|
|
"stream=index", // show index of subtitle streams
|
|
|
|
|
])
|
|
|
|
|
.arg("-i")
|
|
|
|
|
.arg(&inp_fname)
|
|
|
|
@ -139,7 +143,8 @@ impl WritingFileAdapter for FFmpegAdapter {
|
|
|
|
|
// extract subtitles
|
|
|
|
|
let mut cmd = Command::new("ffmpeg");
|
|
|
|
|
cmd.arg("-hide_banner")
|
|
|
|
|
.arg("-loglevel").arg("panic")
|
|
|
|
|
.arg("-loglevel")
|
|
|
|
|
.arg("panic")
|
|
|
|
|
.arg("-i")
|
|
|
|
|
.arg(&inp_fname)
|
|
|
|
|
.arg("-map")
|
|
|
|
|