#youtube-dl #arg #output #download #output-format #run #ytd

ytd-rs

youtube-dl 的简单封装。系统上必须已安装 youtube-dl

8 个版本

0.1.7 2022年4月5日
0.1.6 2021年11月14日
0.1.5 2021年10月23日
0.1.4 2021年7月18日
0.1.2 2021年5月12日

#9#youtube-dl

Download history 102/week @ 2024-04-07 98/week @ 2024-04-14 102/week @ 2024-04-21 140/week @ 2024-04-28 122/week @ 2024-05-05 74/week @ 2024-05-12 99/week @ 2024-05-19 84/week @ 2024-05-26 84/week @ 2024-06-02 91/week @ 2024-06-09 138/week @ 2024-06-16 112/week @ 2024-06-23 79/week @ 2024-06-30 59/week @ 2024-07-07 103/week @ 2024-07-14 91/week @ 2024-07-21

339 每月下载量
5 个 (3 直接) 包中使用

自定义许可

10KB
151

ytd-rs

Build status crates.io docs.rs dependency status

这是一个 Rust 中对 youtube-dl 的简单封装。

use ytd_rs::{YoutubeDL, Arg};
use std::path::PathBuf;
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
    // youtube-dl arguments quietly run process and to format the output
    // one doesn't take any input and is an option, the other takes the desired output format as input
    let args = vec![Arg::new("--quiet"), Arg::new_with_arg("--output", "%(title).90s.%(ext)s")];
    let link = "https://www.youtube.com/watch?v=uTO0KnDsVH0";
    let path = PathBuf::from("./path/to/download/directory");
    let ytd = YoutubeDL::new(&path, args, link)?;

    // start download
    let download = ytd.download()?;

    // print out the download path
    println!("Your download: {}", download.output_dir().to_string_lossy())
    Ok(())
}

依赖项

~2.3–4MB
~70K SLoC