This program is written in Python (Python3), use some Python libraries and ChromeDriver. (When using ChromeDriver, it is more convenient to log in or pass captcha. The program's main features will not be affected if without ChromeDriver.)
The program now supports the command line.
If you want to build your own Release, you can find build script on bili.build.bat.
All Release are signatured with GPG.
Public Key
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=DTeS
-----END PGP PUBLIC KEY BLOCK-----
- Download with aria2c
- Merge Separated Videos Automatically
- mp4/mkv Format
- m4a Format
- flac Format
- mp3 Format
- Normal AV/BV Number Video
- Download Barrage
- Download All Barrage form Historical Records
- Download Video
- Only Download Audio
- Only Download Cover
- Only Download Subtitles
- 4K and HDR
- Parse Interactive Video
- Bangumi Video
- Download Barrage
- Download All Barrage form Historical Records
- Download Video
- Only Download Audio
- Only Download Cover
- 4K
- HDR (May support, the author can't find test video)
- Purchased Courses
- Almost same as Bangumi Video.
- Only Download Cover
- Purchased Courses List
- Favorites
- Channel List
- Channel
- Uploaded Video List
- Live Record
- Live
- AU Number Audio
- Download Audio
- Only Download Lyrics
- Only Download Cover
- Songs List
The program now supports downloading with aria2c. Download with aria2c is recommended, because aria2c provide faster download speed.
If you want to enable this feature, make sure the program can call aria2c by using command line (You can simply put aria2c in program directory.). Also make sure enable this feature in the settings.
This feature needs ffmpeg.
If you want to enable this feature, make sure the program can call ffmpeg by using command line (You can simply put ffmpeg in program directory.). Also make sure you have not disabled this feature in the settings.
You can select the video format you want in the settings.
The program supports downloading audio as m4a files.
Some audios may have lossless quality, the program can save these formats as flac files.
mp3 is not supported now. (Because the author don't want to transcode the audio file.)
This program supports following input format (Take av9 for example. The program ignores case.):
9
av9
BV1xx411c7mC
bilibili.com/video/av9
(The formerhttps://
,www.
will be ignored.)bilibili.com/video/BV1xx411c7mC
b23.tv/av9
b23.tv/BV1xx411c7mC
bilibili.com/s/video/av9
bilibili.com/s/video/BV1xx411c7mC
bilibili.com/festival/2021bnj?bvid=BV1j5411n7s9
If the video is an episode of Bangumi, the program will redirect it to Bangumi video.
Only supports DASH stream video. (Most videos are DASH streams now.)
This program supports following input format (Take SS26291 for example. The program ignores case.):
ss26291
ep259653
md4316442
bilibili.com/bangumi/play/ss26291
bilibili.com/bangumi/play/ep259653
bilibili.com/bangumi/media/md4316442
b23.tv/ss26291
b23.tv/ep259653
40240711
and so on (Input as Normal AV/BV Number Video.)
If the program can't find this season, it will be redirected to Purchased Courses.
Only supports DASH stream video.
When downloading an episode's cover of a season, the season's cover will also be downloaded.
This program supports following input format (Take SS150 for example. The program ignores case.):
bilibili.com/cheese/play/ss150
bilibili.com/cheese/play/ep2425
This feature can't download current episode's cover. But it can download courses' cover and description image.
This program supports following input format:
bilibili.com/cheese/mine/list
bilibili.com/v/cheese/mine/list
This feature can get a list of all purchased courses and let you select courses you want to download.
This program supports following input format (Take UID1 for example.):
space.bilibili.com/1/favlist
This feature can get a list of videos from Favorites and let you select videos you want to download.
fid
: to specify which Favorites you want to parsekeyword
: the keyword if you want to search in Favoritestype
: to specify the search range. 0 is current Favorites, 1 is all Favorites.tid
: to specify the video type, 0 is all types. You can use--ltid
(command line parameter) to get all available tid for current Favorites.order
: to specify video's order.mtime
is added time,view
is views,pubtime
is publish time.
This program supports following input format (Take UID1 for example.):
space.bilibili.com/1/channel/index
This feature can get a list of channels and let you select the channel you want to download.
This program supports following input format (Take UID928123 for example.):
space.bilibili.com/928123/channel/detail?cid=42271
cid
: to specify the channel (Must have this parameter).order
: to specify the order of videos. 0 is default order, 1 is reverse order.
This feature can get a list of videos from the channel and let you select videos you want to download.
This program supports following input format (Take UID1 for example.):
space.bilibili.com/1/video
bilibili.com/medialist/play/225910184
tid
: to specify the video type, 0 is all types. You can use--ltid
(command line parameter) to get all available tid for current uploaded video list.keyword
: the keyword if you want to search in uploaded video listorder
: to specify video's order.pubdate
is publish time,click
is views,stow
is favorited times.
This feature can get a list of videos from a uploader's uploaded video list and let you select videos you want to download.
This program supports following input format (Take R1mx411c7En for example.):
live.bilibili.com/record/R1mx411c7En
This feature now only support the default video format (origin quality). If a live record have other video formats, you can see the warning in downloader. If you see that warning, please submit an issue.
This feature now only support normal barrage. The barrage file will be converted from the original format to XML format.
This program supports following input format (Take ROOMID1 for example.):
live.bilibili.com/1
This feature supports selecting the video quality. You can also select the URL by using command line.
This program supports following input format (Take AU1 for example.):
au1
bilibili.com/audio/au1
b23.tv/au1
Now support multiply audio quality.
If the audio has the related video, the program will try to get more audio formats from the related video.
The program will standardize lyrics by default. After standardizing, the lyrics can be adapted to more audio players.
If the audio has the related video, the program will try to get more lyrics(subtitles) from the related video.
This program supports following input format (Take AM29931432 for example.):
am29931432
bilibili.com/audio/am29931432
bilibili.com/audio/mycollection/29981833
requests
selenium
rsa
polib
web.py
regex
iso-639
qrcode
Js2Py
The login part refers to the login part of Bilibili-Toolkit.
jQuery
js-sha256
jsbn (PS. It has been merged into webuihtml/js(origin)/rsa.js
.)
js-base64
QRCode.js
Viewer.js
clipboard.js
FileSaver.js
This file including the cookies information, which is used by the program to keep logging in.
This file including some settings. You can run setsettings.py
to configure.
This file including the settings for WEB User Interface.
This file including the section information for WEB User Interface if you enable password verification.
This file including the filter rules for barrages.
You can export this file from bilibili WEB player.