Bilibili has evolved into one of the largest long-form video platforms in the world, and its playlist and multi-part (分P) structures make it a favorite target for archival work. A single playlist entry can carry 4K or 8K video, 60fps high-frame-rate streams, multiple subtitle tracks, and separately packaged audio, all delivered through adaptive streaming rather than a single downloadable file.
That architecture is the core technical challenge. Bilibili typically serves media via DASH manifests, where video and audio arrive as separate streams split into hundreds of small fragments. Some content is packaged as HLS with sequential chunk requests, and aggressive throttling is applied per connection, which means a naive single-threaded download can crawl or stall entirely. Extracting a clean, playable file therefore requires fragment reassembly plus a lossless mux step to bind the video and audio tracks together.
This guide compares three practical approaches for Bilibili playlist archiving in 2026: the yt-dlp app desktop GUI, the upstream yt-dlp command-line interface, and web-based online converters. Each is evaluated on stream handling, output fidelity, playlist breadth, and privacy posture. Note that the yt-dlp app GUI is proprietary software built upon open-source upstream utilities (yt-dlp, FFmpeg, aria2c), while the CLI and those utilities remain community-maintained open-source projects.
Legal context matters. Downloading content you own, content licensed for reuse, or material covered under fair use for personal study, critique, and preservation is generally defensible in many jurisdictions. Circumventing DRM, redistributing copyrighted material, or scraping at scale against platform terms is not. Archival practice should stay personal, non-commercial, and respectful of creator rights.
yt-dlp app (Recommended Desktop GUI)
The yt-dlp app is a proprietary desktop application built on Tauri v2 and Rust, wrapping upstream yt-dlp, FFmpeg, and aria2c into a single native interface. It detects Bilibili playlist structure automatically, enumerates every part and quality tier, and exposes 4K/8K, 60fps, and subtitle track selection in plain UI controls rather than flags.
Under the hood it drives a multi-connection fragment engine, splitting DASH and HLS segments across parallel aria2c connections to defeat per-connection throttling. When every fragment lands, FFmpeg performs a lossless stream-copy mux, binding video, audio, and subtitle tracks without re-encoding. All state lives in local filesystem JSON storage, and the app collects zero telemetry.
Step-by-Step Instructions
Step 1: Download & Launch yt-dlp app
Install the desktop build for your operating system and open it. No account or cloud login is required.
Step 2: Paste the Bilibili Playlist URL
Copy the playlist or multi-part series URL from Bilibili and paste it into the source field, then let the app parse the manifest.
Step 3: Select Quality, FPS & Subtitles
Choose 4K/8K or 1080p60 where available, and tick the subtitle tracks and audio streams you want preserved.
Step 4: Set Output & Concurrency
Pick a destination folder and confirm the fragment connection count; higher concurrency accelerates long DASH playlists.
Step 5: Start Download & Mux
Begin the queue. aria2c fetches fragments in parallel and FFmpeg automatically remuxes the final lossless file.
Advantages
- ✓ Parallel aria2c fragment engine overcomes Bilibili per-connection throttling
- ✓ Automatic lossless FFmpeg muxing of split DASH video and audio tracks
- ✓ Full playlist batch queueing with local JSON state and zero telemetry
Drawbacks
- ✗ Requires desktop installation
Ready to download yt-dlp app? 🚀
Experience native speed, 4K/8K stream extraction, and zero telemetry video archiving on Windows, macOS, and Linux. ✨
Get yt-dlp appyt-dlp (Command Line Interface)
The upstream yt-dlp CLI is the open-source engine many tools are built around. It is the most precise instrument for Bilibili archiving, supporting format string selection, subtitle extraction, cookie authentication, and scripted batch processing across entire playlist IDs.
It shines in automation: a shell loop can walk a playlist, pick the best video and audio streams, and hand them to FFmpeg for muxing. The cost is terminal familiarity, plus you must install and maintain yt-dlp, FFmpeg, and aria2c yourself and keep their versions aligned.
Step-by-Step Instructions
Step 1: Install Dependencies
Install yt-dlp, FFmpeg, and aria2c through your package manager and confirm each responds to its version command.
Step 2: Inspect Available Formats
Run yt-dlp with the list-formats flag against the playlist URL to identify the 4K/8K and 60fps stream IDs.
Step 3: Build the Format Selector
Compose a video-plus-audio selector and add the aria2c external downloader flag to enable parallel fragment fetching.
Step 4: Add Subtitles and Metadata
Enable subtitle writing and embedding so the muxed output carries its caption tracks and chapter data.
Step 5: Execute the Playlist Download
Run the command against the playlist URL and let yt-dlp and FFmpeg produce finalized files in your output directory.
Advantages
- ✓ Open-source upstream engine with complete format and selector control
- ✓ Highly scriptable for scheduled, unattended playlist archives
- ✓ Supports cookie files and advanced subtitle and metadata handling
Drawbacks
- ✗ Steep learning curve for non-technical users
- ✗ Manual dependency management for yt-dlp, FFmpeg, and aria2c
Web-Based Online Converters
Browser-based downloader sites require nothing but a URL and a click. For a short, low-resolution clip they can return a file in seconds, which is why they remain popular for casual one-off grabs.
The tradeoffs are severe for archival work. Most impose hard resolution ceilings, re-encode video to save bandwidth, and cap playlist handling at a single item. They are also funded by intrusive ads and tracking scripts, and they route your URLs and IP through third-party servers.
Step-by-Step Instructions
Step 1: Locate a Converter
Search for a browser-based Bilibili downloader and open the site in your browser.
Step 2: Paste the Video URL
Paste a single video link, not the playlist URL; most converters cannot enumerate multi-part series.
Step 3: Choose an Available Preset
Select the highest offered quality, understanding it is usually capped below 1080p and re-encoded.
Step 4: Download the File
Click download, dismiss pop-ups and redirects, and save the resulting compressed file.
Advantages
- ✓ No installation or configuration required
- ✓ Simple single-file workflow for quick casual grabs
Drawbacks
- ✗ Intrusive ads, redirects, and aggressive third-party tracking
- ✗ Lossy server-side re-encoding and strict resolution caps
- ✗ Server-side rate limits and no reliable playlist or subtitle support