17个版本 (9个破坏性)

0.10.0 2024年4月16日
0.9.0 2023年8月20日
0.8.1 2023年5月20日
0.8.0 2023年1月22日
0.1.1 2019年8月9日

#25 in 视频

Download history 473/week @ 2024-04-25 372/week @ 2024-05-02 219/week @ 2024-05-09 276/week @ 2024-05-16 255/week @ 2024-05-23 322/week @ 2024-05-30 220/week @ 2024-06-06 212/week @ 2024-06-13 223/week @ 2024-06-20 175/week @ 2024-06-27 237/week @ 2024-07-04 187/week @ 2024-07-11 237/week @ 2024-07-18 444/week @ 2024-07-25 265/week @ 2024-08-01 234/week @ 2024-08-08

1,214 每月下载量
2 crate 中使用

MIT/Apache

55KB
1.5K SLoC

youtube-dl-rs

Crates.io

注意:这个库的名称有点误导,它目前不支持youtube-dl,因为其开发似乎最近进展缓慢,它目前支持yt-dlp,在某些方面与youtube-dl有所不同,但开发得更多。

运行yt-dlp并解析其JSON输出。示例

use youtube_dl::YoutubeDl;

let output = YoutubeDl::new("https://www.youtube.com/watch?v=VFbhKZFzbzk")
  .socket_timeout("15")
  .run()
  .unwrap();
let title = output.into_single_video().unwrap().title;
println!("Video title: {}", title);

或者,如果您想异步运行它(启用tokio功能)

let output = YoutubeDl::new("https://www.youtube.com/watch?v=VFbhKZFzbzk")
    .socket_timeout("15")
    .run_async()
    .await?;
let title = output.into_single_video().unwrap().title;
println!("Video title: {}", title);
Ok(())

功能标志

  • tokio:启用runrun_rawdownload_to方法的异步变体。
  • downloader-native-tls / downloader-rustls-tls:启用download_yt_dlp方法和YoutubeDlFetcher结构体,使用为reqwest指定的TLS后端下载yt-dlp可执行文件。

依赖项

~0.8–13MB
~139K SLoC