Code Monkey home page Code Monkey logo

bili-cli-rs's Introduction

bili-cli

哔哩哔哩视频命令行下载器

用户界面

实现功能

  • 用户
    • 登录
    • 个人信息
  • 视频下载
    • 高清视频下载并合并
    • BV下载
    • EP/SS下载
    • 来自手机的短视频/短链接
    • 断点续传
      • dash模式 (-r 参数)
    • 集合下载时选择EP
    • 下载收藏夹

如何使用

###  登录线管

# 登录你的账号
./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命令行程序。

cargo build --release

构建方式2: 将ffmpegApi静态链接到bin

这种方式用户不需要额外安装ffmpeg. 但是需要在构建时链接ffmpeg依赖库。

cargo build --release --features=ffmpeg_api

依赖库的安装

windows
  • 安装 vcpkg
  • 根据 vcpkg install ffmpeg --triplet=x64-windows-static-md
  • 如果您在**大陆的网络环境下,您可能需要设置代理之后再运行 vcpkg install 命令
    $env:HTTP_PROXY = http://host:port/
    $env:HTTPS_PROXY = http://host:port/
*nix
  • 使用PkgConfig

根据rusty_ffmpeg官方文档需要设置FFMPEG_PKG_CONFIG_PATH变量。

(linux构建成功,macos12构建失败,调试中)

# 克隆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
export FFMPEG_PKG_CONFIG_PATH=/Volumes/DATA/Runtimes/ffmpeg4.4/lib/pkgconfig
cargo build --release --features=ffmpeg_api

bili-cli-rs's People

Contributors

niuhuan avatar rexcape avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bili-cli-rs's Issues

能否增添刮削视频功能?

在下载B站视频的同时,把nfo信息也爬取下来,用以emby等视频管理工具

nfo参考

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<movie>
  <plot>透心凉,心飞扬!
每日猫片,活力再现!</plot>
  <title>每日一遍,烦恼再见!</title>
  <year>2020</year>
  <mpaa>PG</mpaa>
  <customrating>PG</customrating>
  <countrycode>CN</countrycode>
  <premiered>2020-06-29</premiered>
  <release>2020-06-29</release>
  <runtime>190秒</runtime>
  <country>**</country>
  <id>BV1et4y197na</id>
  <num>BV1et4y197na</num>
  <genre>全能打卡挑战</genre>
  <genre>动物圈</genre>
  <genre>可爱</genre>
  <genre>猫片</genre>
  <genre>猫咪</genre>
  <genre>萌宠</genre>
  <genre>喵星人</genre>
  <genre>每日一遍,烦恼再见!</genre>
  <genre>喵星人</genre>
  <genre>戒喵中心</genre>
  <genre>https://www.bilibili.com/video/BV1et4y197na</genre>
  <genre>cid:207002784</genre>
  <genre>aid:626189984</genre>
  <genre>1088x1920</genre>
  <genre>2020-06-29</genre>
  <tag>全能打卡挑战</tag>
  <tag>动物圈</tag>
  <tag>可爱</tag>
  <tag>猫片</tag>
  <tag>猫咪</tag>
  <tag>萌宠</tag>
  <tag>喵星人</tag>
  <tag>每日一遍,烦恼再见!</tag>
  <tag>喵星人</tag>
  <tag>戒喵中心</tag>
  <tag>https://www.bilibili.com/video/BV1et4y197na</tag>
  <tag>cid:207002784</tag>
  <tag>aid:626189984</tag>
  <tag>1088x1920</tag>
  <tag>2020-06-29</tag>
  <actor>
    <name>戒喵中心</name>
    <type>Actor</type>
  </actor>
</movie>

cannot login

i can see the scan-code but can't login successfully

bug

下载收藏夹第一页后,显示的还是第一页的视频标题,无法下载后续其他页
output:

获取到收藏夹 : 默认收藏夹 : 第x页
xxxxx
xxxxx
xxxxx

./bili-cli user 在登陆后报错

thread 'main' panicked at 'called Result::unwrap() on an Err value: data.coins: invalid type: floating point 876.4, expected i64 at line 1 column 1702

Caused by:
invalid type: floating point 876.4, expected i64 at line 1 column 1702', src/main.rs:21:21
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.