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 视频
1,214 每月下载量
在 2 crate 中使用
55KB
1.5K SLoC
youtube-dl-rs
注意:这个库的名称有点误导,它目前不支持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:启用
run
、run_raw
和download_to
方法的异步变体。 - downloader-native-tls / downloader-rustls-tls:启用
download_yt_dlp
方法和YoutubeDlFetcher
结构体,使用为reqwest指定的TLS后端下载yt-dlp
可执行文件。
依赖项
~0.8–13MB
~139K SLoC