home ~ socials ~ projects ~ rss

Run An External Command In Rust

April 2023

This is a basic example using ffprobe which gets a string back (after chomping off the newline)

use std::process::Command;

fn main() {
    let args: Vec<&str> = vec![
        "-v",
        "error",
        "-select_streams",
        "v:0",
        "-count_packets",
        "-show_entries",
        "stream=nb_read_packets",
        "-of",
        "csv=p=0",
        "some/path.mp4",
    ];
    let cmd_output = Command::new("ffprobe").args(args).output().unwrap();
    let frame_count_string = String::from_utf8(cmd_output.stdout).unwrap();
    let frame_count_str = frame_count_string.as_str().trim();
    dbg!(frame_count_str);
}
Output:
[src/main.rs:24] frame_count_str = "33366"
end of line
Share link:
https://www.alanwsmith.com/en/2o/58/xf/qt/?run-an-external-command-in-rust