Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/niuhuan/bili-cli-rs
[RUST] 一个Rust的Bilibili视频下载器
https://github.com/niuhuan/bili-cli-rs
anime bilibili bilibili-download comics rust rust-lang
Last synced: 8 days ago
JSON representation
[RUST] 一个Rust的Bilibili视频下载器
- Host: GitHub
- URL: https://github.com/niuhuan/bili-cli-rs
- Owner: niuhuan
- License: mit
- Created: 2022-02-10T10:02:07.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-06-19T02:34:21.000Z (over 1 year ago)
- Last Synced: 2024-10-19T04:09:08.557Z (20 days ago)
- Topics: anime, bilibili, bilibili-download, comics, rust, rust-lang
- Language: Rust
- Homepage:
- Size: 303 KB
- Stars: 136
- Watchers: 4
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-bilibili-extra - Bili-cli-rs - 一个 Rust 的 Bilibili 命令行视频下载器.![Rust](svg/rust.svg?raw=true) ![Cli](svg/terminal.svg?raw=true) (下载工具 / 直播脚本)
README
bili-cli
=========哔哩哔哩视频命令行下载器
## 用户界面
![](images/down_bv.gif)
## 实现功能
- [x] 用户
- [x] 登录
- [x] 个人信息
- [x] 视频下载
- [x] 高清视频下载并合并
- [x] BV下载
- [x] EP/SS下载
- [x] 来自手机的短视频/短链接
- [x] 断点续传
- [x] dash模式 (-r 参数)
- [x] 集合下载时选择EP
- [x] 下载收藏夹## 如何使用
```shell
### 登录线管
# 登录你的账号
./bili-cli login# 在控制台打印二维码
./bili-cli login -c# 登录后显示自己的信息
./bili-cli user
### 下载相关
# 打印下载帮助
./bili-cli down -h# 下载BV (ID或者URL)
./bili-cli down BV1814y1p7Uj
./bili-cli down https://www.bilibili.com/video/BV1W44y1Y7mQ/?spm_id_from=333.999.0.0# 下载合集或番剧 (随便找一集,把url贴进去,会下载这个动漫的所有季,所有集,并放好文件夹)
./bili-cli down https://www.bilibili.com/bangumi/play/ss4188?spm_id_from=333.337.0.0
# --choose-seasons 加上可以选择下载哪一季
# --resume 失败时断点续传# 下载用户的合集 (合集的页面的url,会将这个合集下载到一个文件夹)
./bili-cli down "https://space.bilibili.com/273715/channel/collectiondetail?sid=44375&ctype=0"```
## 已知问题
官方token有效期只有一个月
## 如何构建
### 构建1: 使用命令行方式调用ffmpeg
需安装ffmpeg命令行程序。
```shell
cargo build --release
```### 构建方式2: 将ffmpegApi静态链接到bin
这种方式用户不需要额外安装ffmpeg. 但是需要在构建时链接ffmpeg依赖库。
```shell
cargo build --release --features=ffmpeg_api
```#### 依赖库的安装
##### windows
- 安装 vcpkg
- 根据 vcpkg install ffmpeg --triplet=x64-windows-static-md
- 如果您在中国大陆的网络环境下,您可能需要设置代理之后再运行 vcpkg install 命令
```PowerShell
$env:HTTP_PROXY = http://host:port/
$env:HTTPS_PROXY = http://host:port/
```
##### *nix- 使用PkgConfig
根据rusty_ffmpeg官方文档需要设置FFMPEG_PKG_CONFIG_PATH变量。
(linux构建成功,macos12构建失败,调试中)
```shell
# 克隆ffmpeg并检出release/4.4
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
git checkout release/4.4# 构建ffmpeg并安装
mkdir build
cd build
../configure --prefix=/Volumes/DATA/Runtimes/ffmpeg4.4
make -j12
make install
``````shell
export FFMPEG_PKG_CONFIG_PATH=/Volumes/DATA/Runtimes/ffmpeg4.4/lib/pkgconfig
cargo build --release --features=ffmpeg_api
```