#youtube-dl #yt-dlp #download #arg #output #error #youtube-dl-wrapper

ytd-rs

A simple wrapper for youtube-dl. Youtube-dl has to be installed on the system

8 releases

0.1.7 Apr 5, 2022
0.1.6 Nov 14, 2021
0.1.5 Oct 23, 2021
0.1.4 Jul 18, 2021
0.1.2 May 12, 2021

#330 in Video

Download history 168/week @ 2024-12-08 135/week @ 2024-12-15 72/week @ 2024-12-22 67/week @ 2024-12-29 118/week @ 2025-01-05 118/week @ 2025-01-12 107/week @ 2025-01-19 63/week @ 2025-01-26 90/week @ 2025-02-02 92/week @ 2025-02-09 120/week @ 2025-02-16 126/week @ 2025-02-23 141/week @ 2025-03-02 126/week @ 2025-03-09 115/week @ 2025-03-16 128/week @ 2025-03-23

528 downloads per month
Used in 5 crates (3 directly)

Custom license

10KB
151 lines

ytd-rs

Build status crates.io docs.rs dependency status

This is a simple wrapper for youtube-dl in rust.

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(())
}

Dependencies

~2.4–4MB
~69K SLoC