#youtube-dl #yt-dlp #download #json #output #parser #wrapper

chientrm-youtube-dl

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

1 个不稳定版本

0.9.0 2024 年 4 月 14 日

#141 in 视频

MIT/Apache

52KB
1K 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 方法的 async 变体。
  • downloader-native-tls / downloader-rustls-tls:启用 download_yt_dlp 方法以及 YoutubeDlFetcher 结构体,使用给定的 TLS 后端下载 yt-dlp 可执行文件。

依赖关系

~0.8–13MB
~158K SLoC