chenj-freedom/bilibili_downloader — explained in plain English
Analysis updated 2026-05-18
Download a Bilibili video or a range of episodes from a multi-part upload
Save just the audio track from a Bilibili video or a full audio album
Batch-download an entire video collection using a local web interface, no command line needed
| chenj-freedom/bilibili_downloader | gianluca-improta/cinekive | helixmap/sigwood | |
|---|---|---|---|
| Stars | 97 | 97 | 97 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 2/5 | 3/5 | 3/5 |
| Audience | general | general | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires Python 3, FFmpeg on the command line, and the yt-dlp package installed first.
This project is a downloader for Bilibili, a major Chinese video platform, that lets you save audio or video from a link either through the command line or a local web interface. It can pull a single video, a specific episode within a multi-part video, a whole video series or collection, or a single audio track or full audio album from Bilibili's audio section. For people who do not want to use a terminal, the project ships a web UI that starts by double-clicking a batch file on Windows or a command file on macOS. It opens automatically in your browser, usually at a local address on port 8765, where you can paste a Bilibili link, choose whether to grab audio or video, specify which episodes or tracks to download, and pick an output folder. Downloads appear in a list with progress and status for each item, and a failed item can be retried individually without restarting the whole batch. The command-line version takes a link and figures out on its own whether to treat it as audio or video based on the URL, though you can force one or the other. It understands three shapes of Bilibili content: a single video with one part, a multi-part video where one video ID contains several numbered parts, and a collection made up of multiple separate video IDs, some of which may themselves have multiple parts. When downloading a collection, you can pick episodes by a unified numbering scheme across the whole collection, using ranges like 1-5, comma lists like 1,2,6, or the word all. If one part in a batch fails to download, the script keeps going and downloads the remaining parts, then prints a summary of how many succeeded and failed along with a list of the failed episode numbers. The exit code reflects whether everything succeeded. The tool relies on yt-dlp to do the actual downloading and needs FFmpeg installed and available on the command line to process the audio and video files. It supports Windows and macOS and is released under the MIT license.
A command-line and web-based downloader for Bilibili videos and audio, supporting single videos, multi-part episodes, and full collections.
Mainly Python. The stack also includes Python, yt-dlp, FFmpeg.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly general.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.