Bili23 Downloader 使用说明

Bili23 Downloader 项目  ·  2022-04-23

简介

跨平台的 B 站视频下载工具,支持 Windows、Linux、macOS 三平台,下载 B 站视频/番剧/电影/纪录片 等资源

安装

方式一:下载编译版

Windows

编译版无需 Python 环境,可直接运行。
请注意:仅支持 Windows 平台,Linux 和 macOS 用户请按照方式二手动安装。

目前最新版本 Version

下载地址:GitHub
加速链接:蓝奏云

下载完成后解压缩即可使用。

若无法打开程序,请下载 DirectX 修复工具检查一遍 DirectX 和 C++ 运行库。

方式二:手动安装

Windows Linux macOS

Python 版本需要为 3.10 及以上。

Windows & macOS

Windows 和 macOS 用户可直接按以下方式安装。

# 克隆仓库
git clone https://github.com/ScottSloan/Bili23-Downloader.git
cd Bili23-Downloader

安装所需依赖

pip install -r requirements.txt

Linux

Linux 用户需要编译 wxPython,在克隆仓库前,执行以下命令:

sudo apt install libgtk-3-dev

随后按照 Windows 和 macOS 的方式安装即可,编译 wxPython 时,需要一点时间,请耐心等待。

wxPython 官方也提供了 Linux 编译版,但不在 PyPi 源中,可前往此处手动下载安装。

安装 FFmpeg

下载安装 FFmpeg,相关教程请移步至 安装 FFmpeg
若已在环境变量中配置过 FFmpeg,可跳过此步骤直接运行,程序将自动检测。

注意:请使用最新版本 FFmpeg,否则会出现视频无法合成的问题

运行

配置完成后,运行 GUI.py 即可开始使用。

使用

pAxOkb6.png

将视频链接粘贴到地址栏中,点击 Get 按钮开始解析视频链接。

支持输入的 URL 链接

类型支持的功能示例
用户投稿视频 (含分P,合集视频)解析下载https://www.bilibili.com/video/BV1t94y1C7fp
剧集(含番剧、电影、纪录片、国创、电视剧、综艺)解析下载https://www.bilibili.com/bangumi/play/ss45574
课程解析下载https://www.bilibili.com/cheese/play/ep69165
直播m3u8直链解析、录制https://live.bilibili.com/1
b23.tv 短链接解析下载https://b23.tv/BV1UG411f7K1
活动页链接解析下载https://www.bilibili.com/blackboard/topic/activity-jjR1nNRUF.html

注意:本程序不提供付费视频解析服务,请自行登录大会员账号后再进行使用。

部分类型可直接输入编号

  • 视频 av、BV 号
  • 剧集 ep、md、ss 号

支持下载的弹幕&字幕&封面格式

类型支持下载的格式备注
弹幕xml, protobuf
字幕srt, txt, json需要登录才可下载
封面jpg

解析完成后,点击右上角小齿轮图标可自定义清晰度和音质等设置。

pAxXee0.png

点击列表图标可切换剧集列表显示方式。

pAxXRk8.png

支持下载的清晰度如下表所示:

类型说明
超高清 8K
杜比视界
真彩 HDR
超清 4K
高清 1080P60即 1080P 60帧
高清 1080P+即 1080P 高码率
智能修复部分年代久远的剧集支持
高清 1080P
高清 720P
清晰 480P
流畅 360P

可在设置中更改默认下载清晰度为 自动,程序将自动获取每个视频的最高可用清晰度,避免多个视频最高清晰度不统一,无法同时下载最高清晰度的情况。

自定义下载音质

程序支持自定义下载音质,如下表所示:

类型说明
Hi-Res 无损需视频支持
杜比全景声需视频支持
192K
132K
64K

下载

pAl4IxO.png

程序支持多线程下载(最多 8 线程)、并行下载(上限为 8 个,支持动态调整)、断点续传、下载限速、出错重试等功能。

视频格式

默认下载格式为 mp4,若有其他需求,可使用 "格式转换" 工具进行转换。(位于菜单栏 -> 工具)

程序自带的 FFmpeg 支持使用 GPU 加速,提升转换效率,请根据设备 GPU 选择加速编码器。

  • 支持加速的 GPU:NVIDIA、AMD、Intel
  • 支持加速的编码器:H264、H265、AV1

pAxjG9g.png

登录

若您需要下载大会员专享内容,请登录大会员账号。程序支持扫码登录、账号密码*登录和验证码登录三种方式。
程序使用调用接口方式实现登录,接口来源于网页端抓包,因此显示浏览器登录。

其中人机验证环节调用系统可用的 WebView 进行显示,如下表所示。

平台WebView 类型安装方式
WindowsMicrosoft Edge WebView2 RuntimeWindows 10/11 系统已预装,也可从此处下载
LinuxWebKitGTK+(以 Ubuntu 为例)执行 sudo apt install libwebkit2gtk-4.0-dev
macOSApple WKWebView系统集成,无需安装

* 目前账号密码登录功能可能无法正常使用,提示存在风险,请暂时使用其他两种方式登录。

注意:Cookie 有效期为 180 天且不稳定,若出现下载失败等问题,请尝试重新登录。

补充说明

由于 B 站限制,未登录状态下无法下载高清晰度视频,建议您登录后使用本程序。

反馈

若在使用过程时遇到问题,可以尝试克隆最新的开发分支 dev,某些问题可能已在第一时间修复。
如果问题依旧存在或者有新的想法,也欢迎提出 issue。

项目主页:Github
邮箱:scottsloan@petalmail.com
QQ: 2592111619

声明

本项目仅供个人学习与研究用途,任何通过本项目下载的内容仅限于个人使用,用户自行承担使用本项目可能带来的所有风险。

本项目开发者不对因使用本项目所引发的任何法律纠纷、版权问题或其他损害承担责任。

本项目不拥有任何下载内容的版权,B站上的所有视频均为其原始版权方的财产。用户需遵守相关法律法规,且仅限于合理使用,不得进行任何形式的商业化传播或使用。

评论
33
33

大哥,能否下载为MKV格式啊?求求求,大哥,能否下载为MKV格式啊?感谢大哥

Scott Sloan
Scott Sloan

存储在B站服务器上的就是mp4格式,下载下来转换成mkv就行,后续会加入格式转换功能

jj
jj

怎么登陆不上了?

Scott Sloan
Scott Sloan

目前扫码登录暂时存在问题,近期会发布1.41版本更新,请留意。

,
,

下载失败(悲

fz
fz

对番剧似乎存在兼容性问题
https://www.bilibili.com/bangumi/play/ep426323
我想下载这个3分29秒的视频,但是出来的都是正片,在设置中选择其他两个模式,一直卡在“正在处理中,请稍候”,出不来任何内容

涵有闲
涵有闲

作者你好,使用你的软件,遇到了如下问题:
1. 批量下载容易卡住,用的默认的线程
2. 出现了闪退的情况,说保留了之前的下载记录,但是无法打开页面进行下载
3. 下载记录清理不干净,不过退出后重进会恢复

很棒的软件感谢你的贡献!

Scott Sloan
Scott Sloan

1.目前存在下载大文件(2GB以上时最明显)需等待一段时间,如果批量下载大文件,就容易卡死,对于这一问题,目前还在研究解决方案,请关注后续更新。
2.关于闪退问题,请提供详细复现步骤,方便定位问题。
3.该问题将在1.43版本中修复,请留意。

steelwing
steelwing

作者你好,软件使用过程中发现:下载普通视频没问题,但下载剧集(番剧、电影、纪录片等)时会卡在最后合成的这一步,大小不超过1gb,应该不是因为文件过大卡死的吧?

Scott Sloan
Scott Sloan

请问使用的 FFmpeg 是程序自带的吗?自带的已经测试过没有问题,况且合成视频不会花太长时间。
如果问题一直存在,调试运行 GUI.py,看看控制台窗口的报错信息是什么

111
111

尝试卡在正在合成视频

111
111

长时间卡在正在合成视频,大概5-6小时

嘿哈
嘿哈

同,下载电影的时候出现

Scott Sloan
Scott Sloan

由于编译工具的原因,新版本重新编译过了,应该不会有问题了

游宅
游宅

作者你好,有没有能只下载音频的选项啊

Scott Sloan
Scott Sloan

可以在设置中关闭“合成完成后自动清理文件”,这样音频文件就会保留下来,先暂时这样用着,下个版本会专门加入这个功能

alie
alie

请为什么无法启动GUI.exe文件呢?没有任何反应

Scott Sloan
Scott Sloan

当前版本中程序路径不可含空格和中文字符,新版本将于近日发布,统一修复有关问题

LinPhone
LinPhone

右键,管理员模式运行

yyy
yyy

作者你好,显示下载成功但是没出现在下载目录里请问是什么情况?

Scott Sloan
Scott Sloan

需要等待视频合成完毕后才会出现,如果下载的视频比较大的话,合成就需要一点时间,和电脑性能有关,所以耐心等待就行了

liuxixigua
liuxixigua

你好,使用的1.51.0,点击登录没有二维码弹出,系统win11 22h2 22621.674

Scott Sloan
Scott Sloan

qrcode 8.0 版本导致的问题,现在已经降级重新编译了,更新就好了

killuagon_9
killuagon_9

一直卡在“正在处理中

killuagon_9
killuagon_9

只能复制网址,不要复制BV1z3411t7Hd这个东西,就不会卡正在处理中了。

Scott Sloan
Scott Sloan

这个窗口不影响正常操作,可以忽略,只要剧集列表显示出来就可以使用了,这个问题将在下个版本中修复,

h9052300
h9052300

请问能够异步下载多个连结吗?

Scott Sloan
Scott Sloan

现有的解析模式是一次只能解析一个链接,但能在前一个链接下载的时候解析下一个链接,未来会支持多链接下载

h9052300
h9052300

感谢~

91Foly
91Foly

大佬,有个问题,更新最新版后下载下来的都有B站水印,可以修复下BUG吗

Scott Sloan
Scott Sloan

程序使用的接口来源于B站网页端抓包,视频源都有水印,不属于bug,后续将引入tv端接口以支持无水印下载

91Foly
91Foly

希望可以无水印解析

123
123

有大会员番剧下载一直卡在获取视频信息

Scott Sloan
Scott Sloan

B 站 CDN 不稳定所导致,下一版本将更新 CDN 切换功能以修复此问题

ergfhfb
ergfhfb

番剧老是下载不了,希望能解决此类问题

Scott Sloan
Scott Sloan

dev 分支已经支持切换音视频流 CDN,可根据实际测试延迟切换阿里云\华为云\腾讯云节点,修复此类由于 CDN 不稳定而导致下载失败的问题,正式版预计年后发布更新

x
x

下载时不显示进度条但却是实在下载是什么原因?

sac
sac

和验证码登录
怎么登陆不上了?

Traceback (most recent call last):
File "C:\Users\sachi\Bili23-Downloader\src\gui\login.py", line 446, in onLogin
self.check_login_result(result)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "C:\Users\sachi\Bili23-Downloader\src\gui\login.py", line 225, in check_login_result
self.GetParent().GetParent().login_success(user_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'LoginWindow' object has no attribute 'login_success'

可以下载,但无法登录。你认为原因是什么?

poppy
poppy

UP主你好,请教一下出现以下问题如何解决?
Traceback (most recent call last):
File "K:\BILI23~1\gui\download_v2.py", line 571, in get_downloader_info_list
File "K:\BILI23~1\gui\download_v2.py", line 549, in get_video_bangumi_download_url
File "K:\BILI23~1\gui\download_v2.py", line 433, in check_stream_type
File "K:\BILI23~1\gui\download_v2.py", line 521, in get_audio_available_quality
File "K:\BILI23~1\gui\download_v2.py", line 703, in _get_default_audio_download_url
IndexError: list index out of range

2233
2233

希望增加下载up全部投稿视频的功能,目前已实装下载合集的功能,但是有些视频没有被添加进合集,单独下载太麻烦

沧笙踏歌. All Rights Reserved. Theme Jasmine by Kent Liao.