vooidzero / B23Downloader

(已长久停更)
GNU General Public License v3.0
2.46k stars 340 forks source link
bilibili cplusplus qt qt-gui


B23Downloader-icon
B23Downloader

B23Downloader: 下载B站 视频/直播/漫画

使用说明

Main Window

mainwindow

简单,但也够用了。没有历史记录功能。(当然,对于正在下载的任务,关闭程序后再打开还是在的)


下载位置

视频类

download-example-bangumi

在上图中,选择的下载位置为 E:/tmp,那么选中的两个视频分别下载到

漫画

download-example-manga

如上图,下载位置还是 E:/tmp,选中的两项分别下载到文件夹

漫画是一页一页下载的,在该示例中,82 最终话 将下载为 E:/tmp/恋如雨止 82 最终话/01.jpg - 32.jpg(32 张图片)。

目前删除漫画下载任务会粗暴地删除整个文件夹,如示例中的 E:/tmp/82 最终话/

直播

download-example-live

上图中,对话框的标题为 【哔哩哔哩英雄联盟赛事】【直播】HLE vs LNG,其命名规则为【<用户名>】<房间标题>,示例中用户名为 哔哩哔哩英雄联盟赛事,房间标题为 【直播】HLE vs LNG

下载文件的命名为 <标题> <下载开始时间>.flv,比如【哔哩哔哩英雄联盟赛事】【直播】HLE vs LNG [2021.10.05] 18.59.22.flv,其所在文件夹为上图中所选的 E:/tmp/

目前的直播下载任务策略为:

如果添加直播下载任务时,正在下载的任务数量超过最大可同时下载任务数(代码里硬编码为 3),那么这个直播下载任务会处于“等待下载”状态。


支持的 URL 输入

部分类型可以使用编号:


网络代理

暂未实现“设置”功能(以后有时间会加上的),代理跟随系统,你可以设置全局代理来下载地域限制内容(比如代理服务器在香港,那么可以下载“仅限港澳台地区”的动漫)。


Build-Issues

B23Downloader 使用 Qt 6 (C++ 17) 开发,虽然 Release 只有 Windows 64-bit 的,但你可以在其他桌面平台编译使用。

由于所有请求链接均采用 HTTPS,所以依赖 OpenSSL库。在 Windows 上,虽然 Qt Installer 可以勾选 OpenSSL Toolkit,但 Qt Installer 并不会设置好相关环境,于是会出现找不到 SSL 库的错误(如 TLS initialization failed),解决方法参考 TLS initialization failed on GET Request - Stack Overflow.


开发日志


最后感谢 SocialSisterYi/bilibili-API-collect: 哔哩哔哩-API收集整理,虽然 B23Downloader 里用的 API 有很大一部分是我自己后面找的。以后有时间也为这个仓库贡献一下。