1个不稳定版本

0.1.0 2023年4月20日

#345 in 视频

MIT许可证

11MB
307

ytb-downloader

目录
  1. 关于本项目
  2. 入门
  3. 用法
  4. 贡献
  5. 许可证
  6. 联系方式

关于本项目

A Rust库,用于从YouTube下载视频,可选择所有可用格式。

(返回顶部)

入门

ytb-downloader 添加到 Cargo.toml 并导入它

use ytb-downloader::*;

注意,该库使用异步/等待,因此

tokio = { version = "1.27.0", features = ["macros", "rt-multi-thread", "fs"] }

也需要。以下是 ytb-downloader 所需的 Tokio 功能,但您可以添加更多,如果需要的话。

(返回顶部)

用法

以下示例使用 error_chain 进行错误处理,这就是为什么 Result 也没有错误类型参数。

使用 download_video! 宏下载视频

#[macro_use] extern crate ytb_downloader;
use ytb_downloader::*;
use errors::*;

[tokio::main]
async fn main() -> Result<()> {
  let source = get_available_sources("https://www.youtube.com/watch?v=pqhfyrW_BEA").await?
      .into_iter().next().unwrap();
  const OUTPUT_FILE: &str = "download.m4a"; 
  download_video!(&source, OUTPUT_FILE).await;
  Ok(())
}

使用实际函数调用下载视频

use ytb_downloader::*;
use errors::*;

[tokio::main]
async fn main() -> Result<()> {
  let source = get_available_sources("https://www.youtube.com/watch?v=pqhfyrW_BEA").await?
      .into_iter().next().unwrap();
  const OUTPUT_FILE: &str = "download.m4a"; 
  download_video(&source, OUTPUT_FILE, None).await;
  Ok(())
}

以10240字节的大小块下载视频

use ytb_downloader::*;
use errors::*;

[tokio::main]
async fn main() -> Result<()> {
  let source = get_available_sources("https://www.youtube.com/watch?v=pqhfyrW_BEA").await?
      .into_iter().next().unwrap();
  const OUTPUT_FILE: &str = "download.m4a"; 
  download_video(&source, OUTPUT_FILE, Some(10240)).await;
  Ok(())
}

(返回顶部)

贡献

您提供的任何贡献都将被 高度赞赏

如果您有改进此项目的建议,请fork仓库并创建一个pull request。您也可以简单地打开一个带有“增强”标签的问题。

  1. fork项目
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个Pull Request

(返回顶部)

许可证

在MIT许可证下分发。更多信息请参阅 LICENSE.txt

(返回顶部)

联系方式

Pavlos Smith - paulsmith4561+at+gmail.com

(返回顶部)

依赖项

~11–27MB
~397K SLoC