Giter Site home page Giter Site logo

bilibilivideodownload / bilibilivideodownload Goto Github PK

View Code? Open in Web Editor NEW
2.8K 44.0 368.0 36.37 MB

Cross-platform download bilibili video desktop software, support windows, macOS, Linux

Home Page: https://github.com/blogwy/BilibiliVideoDownload

License: MIT License

JavaScript 3.87% HTML 0.86% Vue 31.63% Less 1.90% TypeScript 61.75%
electron electron-builder vuejs ffmpeg-installer node-js bilibili-download ant-design-vue typescript

bilibilivideodownload's Introduction

BilibiliVideoDownload

跨平台下载bilibili视频桌面端软件,支持windows、macOS、Linux
issues forks stars license

注意

  • 软件不支持付费视频和地区限制视频,可能会报错

  • 登录信息有过期时间,好像是半年

  • 由于下载的音视频是分离的,项目使用ffmpeg合成导致安装包有点大(ffmpeg大约70+MB)

安装

releases页面,下载对应平台安装包即可.下载视频时候会提示登录,登录后只会获取你的SESSDATA来用做下载,账号是普通账号最大支持下载1080P视频,大会员可以下载8K视频,不登录最大支持下载480P视频

演示

1 2 3 4 5

功能

  • 下载普通视频
  • 下载番剧视频
  • 下载多P视频
  • 下载电影(额外付费除外)
  • 下载封面
  • 下载字幕
  • 下载弹幕
  • 下载进度
  • 基本视频信息
  • 删除下载记录
  • 暂停/恢复下载

开发

提前自备梯子,因为electron electron-builder等依赖项需要从GitHub下载

git clone https://github.com/blogwy/BilibiliVideoDownload.git

cd BilibiliVideoDownload

yarn

yarn electron:serve

yarn electron:build

版本

v3.3.3 2022-07-02

  1. 修复关闭软件事件不正常错误issues/88
  2. 下载列表右键添加播放视频功能issues/86

v3.3.2 2022-06-04

  1. 修复下载视频的音频码率错误,现在音频码率修改为当前最高音频码率。issues/76
  2. 修复更新弹窗点击按钮没反应问题issues/83
  3. 添加是否下载封面设置项issues/81
  4. 下载地址输入框加入复制/粘贴/全选右键菜单issues/82

v3.3.1 2022-05-28

  1. 修复弹幕样式异常问题

v3.3.0 2022-05-12

  1. 升级vue3+typescript electron16
  2. 优化代码,使用contextBridge代替Node integration
  3. 添加手动输入SESSDATA功能
  4. 添加右键重新下载
  5. 修改下载文件夹/名格式为[px]视频名称-第一up主名称-bv号-uuid
  6. 下载页面添加滚动条
  7. 下载弹幕

v3.2.0 2022-02-26

  1. 支持macOS arm
  2. 支持av号解析

v3.1.8 2021-12-18

  1. EP,SS视频(番剧、纪录片、电影),支持分P(批量)下载

v3.1.7 2021-12-11

  1. 任务列表添加右键菜单
  2. 任务列表按住shift按键可以多选
  3. 支持8K视频
  4. 支持杜比视界

v3.1.6 2021-11-06

  1. 修复无法下载问题
  2. HDR视频支持

v3.1.5 2021-10-08

  1. 修复无法删除的bug issues/41
  2. 新增回车键确认在主页

v3.1.4 2021-09-24

  1. 修复在升级版本后,可能会导致设置页面无法关闭问题 issues/39
  2. 设置页面新增是否下载到单独文件夹功能

v3.1.3 2021-09-11

  1. 修复在设置侧边栏登录bug

v3.1.2 2021-09-02

  1. 修复up主多情况,排版出错的问题 issues/36

v3.1.1 2021-08-11

  1. 多P视频新增全选功能
  2. 新增同时下载最大任务数设置(1~5)

v3.1.0 2021-06-29

  1. 新增扫码登录获取cookie,不需要手动设置
  2. 新增下载字幕功能

v3.0.6 2021-05-22

添加多P视频批量下载,同时下载视频数建议不要超过5个,太多我没有测试过可能会卡死。

v3.0.5 2021-05-15

添加检查更新

v3.0.4 2021-04-29

修复无法下载的bug

v3.0.1 2021-03-03

增加错误提示

v3.0.0 2021-02-21

全新GUI版本上线

v2.1.0 2019-09-12

添加了弹幕下载,以及弹幕反查用户

v2.0.2 2019-06-19

添加了大会员清晰度的支持(前提是必须要有一个大会员的SESSDATA)

v2.0.1 2019-03-29

添加了分P检测,分P下载功能

v2.0.0 2019-03-24

Node.js重构,以前的在vuejs分支

感谢

bilibilivideodownload's People

Contributors

blogwy avatar echo094 avatar hnsxxscyx 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  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

bilibilivideodownload's Issues

窗口右侧抖动

  • 操作系统:Windows 11 专业版;
  • 处理器架构:amd64
  • 软件版本:v3.2.0 从Release下载。

下载这个视频时,窗口右侧不断抖动。下载全部完成后抖动停止。

番剧无法批量下载

目前番剧无法批量下载,番剧的分p和普通视频的分p是不一样的,普通视频有一个固定的bv号+p=n,而番剧不同集的号码是不一样的。可否增加番剧的批量下载功能。或者提供批量输入url的接口,比如把若干url保存在一个文本文件里,然后批量读取并依次下载。或者提供一个命令行接口也可,这样用户也可以通过写一个bash脚本来自由的实现批量下载。感谢!

下载显示错误

添加下载任务后,
列表中显示 视频下载中下载失败,
但实际视频是下载完成的.

用本地播放器可以打开.

操作情景:
按照番剧剧集顺序下载
当添加到第4或5个时可能会出现上述情况.

启动程序报错A JavaScript error occurred in the main process

[Window Title]
Error

[Main Instruction]
A JavaScript error occurred in the main process

[Content]
Uncaught Exception:
Error: listen EACCES: permission denied 0.0.0.0:8964
at Server.setupListenHandle [as _listen2] (net.js:1289:21)
at listenInCluster (net.js:1354:12)
at Server.listen (net.js:1442:7)
at Function.listen (D:\Program Files\BilibiliVideoDownload\resources\app.asar\node_modules\express\lib\application.js:618:24)
at App. (D:\Program Files\BilibiliVideoDownload\resources\app.asar\background.js:1:305719)
at App.emit (events.js:223:5)

一启动程序就这个错误,请问有没有解决方案?

Mac版好像不能下载弹幕?

不好意思开发者大大,我着实是找不到Mac版弹幕下载的方法了,求问是Mac版目前还没有这个功能还是要怎么开启呀?谢谢大大!

接口返回code -400

let videoInfo = await rp(http://api.bilibili.com/view?type=jsonp&appkey=8e9fc618fbd41e28&id=${aid}&page=${pNum}),

videoinfo = { code: -400, message: 'Request error.', ts: 1584518421 }

[Feature Request] 多P视频下载至单个文件夹内

现在多P视频的文件下载后,会分开在多个文件夹内。使用播放器打开时不能自动加载所有视频。
能否选择让多P视频下载至单个文件夹内?这样在后续播放时会方便很多。

下载失败能否添加重试机制

你好,感谢这个优秀的项目。

问题如下图:

失败的话能不能有个重试按钮

image

还有几个小建议:

  • 能不能记录一下历史下载链接记录
  • 删除能否支持批量
  • 下载能否支持多选

[Feat request] 8K 支持

阿B终于也有 8K了,想请问一下开发者有没有支持 8K 的计划喵~ 非常感谢
目前开启8K的条件为: UA 是 Safari,大会员, quality常量是 127: '8K超高清'
我试了一下仅修改assets 里的 UA 和 quality 常量,没成功。。(¦3」∠)

linux运行的时候的问题

INFO Launching Electron...
/opt/bili/BilibiliVideoDownload/node_modules/electron/dist/electron: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
Done in 13.32s.
[root@is BilibiliVideoDownload]#
这个是我的环境的问题吗?
[root@is ~]# node -v
v16.7.0
[root@is ~]# npm -v
7.20.3
[root@is ~]# yarn -v
1.22.11
[root@is ~]# yarn -v
1.22.11

🙇 只下载音频

大师,能在清晰度里面加一个 只下载音频 的选项吗?

今年考研比较忙,没啥时间看代码,只能伸手了🙇如果明年这个时候还没加的话,我愿意贡献一个 PR

视频状态显示错误

环境:V3.1.4 版本 开启不生成文件夹选项 其余默认,大会员,并行3路。

现象:一个视频下载完毕 但显示为下载中,实际文件已被下载
触发条件:在视频下载时回到输入链接界面,待视频下载完毕再返回下载界面。

非常赞赏下载功能模块,设计很给力!特别是视频画质和分P的选择很人性化。
另外存在的一小问题也顺带提出(均基于以上测试环境
1.删除键实际上不会删除文件,弹出框提示会删除文件。

个人期待将来会有的功能(只是个人期待,因为设计理念就是为了方便简洁干净):
1.新的文件命名格式: %UP主+%视频名+%分P名
2.一键全部删除任务,界面整洁。
3.下载链接框应该支持回车输入。

web版本

能不能开发个web服务器版本的客户端,浏览器访问某个端口进入BilibiliVideoDownload下载界面?

[Feat request] m1 support

Thank you very much for this nice tool!

I notice that in the latest version of this software it still runs under Rosetta 2 in MacOS with M1 chips. And I would like to know if you have a plan to support Apple chips natively. I am not the professional in this area, but I am willing to help you test it and gives you feedback if you want.

FYI. Electron has supported arm64 since v11.0.0 and also ffmpeg since v1.1.0.

TypeError: Cannot read property 'quality' of undefined

➜ BilibiliVideoDownload git:(master) ✗ node app.js
请输入av号...av50596322
这是个单P视频
(node:71797) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'quality' of undefined
at Object.getQuality (/Users/liyumin/Files/BilibiliVideoDownload/utils/getUrl.js:47:46)
at async main (/Users/liyumin/Files/BilibiliVideoDownload/app.js:20:16)
(node:71797) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:71797) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

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.