tutorials

How to Download Bilibili Videos to Your Computer (2026 Latest Guide)

A complete tutorial on downloading Bilibili videos using the FlowPick browser extension, supporting HLS livestreams, DASH videos, and regular MP4 content.
FlowPick Team
11 min read
# bilibili # video download # hls # dash # tutorial

Bilibili is one of the most interesting video platforms on the internet — a blend of YouTube, Reddit, and anime streaming. As of 2025, it has over 340 million monthly active users, with content ranging from hand-drawn animation to university open courses, from game speedruns to 8-hour livestream replays.

The official app lets premium members download for offline viewing, but the format is proprietary .blv, playable only in the app, only on the device that downloaded it, and it expires when the membership ends. That's not what most people mean by "offline."

This guide covers how to download Bilibili videos as standard MP4 files that stay on your machine for good.

What Format Does Bilibili Actually Use?

Bilibili migrated from Flash to HTML5 video in 2019, and most content is now delivered via DASH (Dynamic Adaptive Streaming over HTTP), which means:

  • Video and audio tracks are transmitted as independent streams
  • Each track is chopped into hundreds of small .m4s segments
  • A central MPD manifest file describes where everything is

If you open DevTools on a Bilibili page and look at the Network panel, you'll typically see a JSON API response containing an MPD URL or a list of segment URLs — not a direct .mp4 link. That JSON response is what the player uses to construct the DASH stream.

Livestreams (live.bilibili.com) switch to HLS/M3U8 instead of DASH, using an entirely different delivery pipeline. For how M3U8 works, see the Complete HLS Download Guide.

Anime vs. Creator Uploads: Format Differences

It's worth noting: Bilibili content isn't monolithic. Regular creator uploads and anime/premium content use different backend distribution logic:

Content TypeDelivery FormatNotes
Regular creator uploadsDASH (.m4s)Most everyday videos
Anime episodesDASH (.m4s)Login required, some require premium
Interactive videosDASH + special branching logicFlowPick captures the played branch
LivestreamsHLS (.m3u8)Completely different pipeline
Livestream replaysDASH (.m4s)Converts to static stream after broadcast ends

FlowPick handles all of these, but the workflow rhythm differs slightly — the main difference is that anime has stricter CDN signature tokens with shorter validity windows, so you want to complete the download in one go.

Quality Tier Breakdown

Bilibili's quality tiers can be confusing because some resolutions require login and some require a premium membership:

ResolutionRequirement
360PNo account needed
480PFree account (logged in)
720PFree account (logged in)
1080PFree account (logged in)
1080P+ / 60fpsPremium membership
4K / HDRPremium membership
Dolby VisionPremium membership

FlowPick captures whatever the player is actually delivering to you. If you have a premium membership, the player loads high-bitrate streams, and FlowPick sees those. Free accounts top out at standard 1080P.

Step-by-Step: Downloading Bilibili Videos

Step 1: Install FlowPick

Install from the Chrome Web Store or Edge Add-ons. One click, no registration.

If you're already logged into Bilibili, stay logged in — FlowPick needs that to access the quality tiers tied to your account.

Step 2: Open the Video and Start Playing

Go to bilibili.com/video/BVxxxx (any video page). The video must actually start playing, not just load the page. If autoplay is off, click the play button.

This matters: the Bilibili player doesn't request the DASH manifest until playback begins. FlowPick is waiting for that request.

Step 3: Open the FlowPick Popup

Click the FlowPick icon in your browser toolbar. The badge number shows how many streams were detected. On Bilibili, you'll typically see:

  • The main video, shown as a DASH/MPD entry (may have multiple quality levels)
  • A separate audio-only entry
  • Sometimes ad streams (smaller file sizes — ignore those)

Step 4: Select the Video Entry

Click the DASH entry that corresponds to your video (look for the one with the larger estimated file size — that's the actual content, not a 30-second pre-roll ad).

FlowPick parses the DASH manifest and shows all available quality levels. Pick the resolution you want.

Step 5: Name and Download

Give the file a name, set the thread count (default is 2; 4-6 is fine for typical broadband — no need to max it out), and click Pick.

FlowPick will then:

  1. Download video and audio segments in parallel
  2. Merge audio and video using FFmpeg WebAssembly running inside the browser
  3. Save the merged MP4 to your downloads folder

On typical broadband, a 20-minute 1080P video usually takes 2-4 minutes.

Step 6: Confirm Download Complete

The FlowPick popup shows download progress. Once done, the file is in your browser's default download directory, ready to play in any player.

Handling Multi-Part Long Videos

Bilibili lets creators split long videos into multiple "parts." A 3-hour documentary might be uploaded as P1, P2, P3, displayed as a playlist on the page.

Each part is an independent DASH stream. You need to:

  1. Play P1, download with FlowPick
  2. Switch to P2 (or click the part in the sidebar), play, download
  3. Repeat for remaining parts

If you want to merge them into one file, use any video editor or ffmpeg afterwards:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy combined.mp4

Where filelist.txt contains:

file 'part1.mp4'
file 'part2.mp4'
file 'part3.mp4'

Downloading Bilibili Livestreams

Livestreams on live.bilibili.com use HLS instead of DASH. The process is similar but with key differences:

  • You can only record from the moment you start. No rewind — if you missed the first 30 minutes, those segments are already gone from the CDN.
  • Stream URLs expire quickly — typically 30-60 minutes. A download that times out may fail mid-way.
  • Prefer replay URLs. If the streamer has replays enabled, the replay becomes a static DASH stream (not live HLS) and can be cleanly downloaded after the broadcast ends.

Livestream capture tip: start FlowPick early. Don't wait until something exciting happens.

Anime Download Notes

Anime CDN tokens typically have shorter validity windows than regular uploads (user reports suggest under 2 hours) and may be IP-bound. A few tips:

  • Don't switch networks mid-download (e.g., from WiFi to mobile hotspot) — it'll break token validation
  • Don't leave a download task hanging. A 20-minute anime episode usually downloads in 2-3 minutes. Leaving it unattended for hours and coming back — it's probably failed
  • If a download fails, just refresh the page, re-detect, and start a fresh download

Common Issues

"0 streams detected"

Most likely the video hasn't started yet. Try:

  • Manually pressing play
  • Waiting for the first 5 seconds of buffering
  • Refreshing the page (player initialization state sometimes expires)

Still nothing: Bilibili occasionally wraps the player in an iframe. Right-click the video → "Open frame in new tab" → try FlowPick there.

Download stalls at 70-80%

Stream URLs have expired. Bilibili CDN signed URLs are typically valid for 6 hours; paid content may be shorter. Reload the page, re-detect, start a fresh download. Don't start a download and leave it unattended for long periods.

Output file has no audio

The audio stream wasn't captured. Usually happens when:

  • The video auto-advanced to the next part
  • A popup or ad interrupted audio stream initialization

Reload, play from the beginning (not muted), re-detect before downloading.

Output is in .blv format

That's not FlowPick — you accidentally used the official Bilibili app's "cache" feature. Make sure you're using the browser extension on the web player, not the app.

Only getting 360P despite having premium

FlowPick captures whatever stream the player actually requests. If the page shows 360P, the player chose 360P — click the quality switcher in the player, manually switch to a higher quality, then re-detect.

Large File Downloads

Bilibili 4K videos can reach several GB. FlowPick uses the browser's File System Access API for streaming writes, with no file size limit. Memory usage stays stable throughout the download — the browser won't freeze just because the file is large.

Use Chrome or Edge for large file downloads — these two browsers have the most complete FSA streaming write support.

FlowPick captures the video your browser is already rendering. Bilibili's terms of service restrict redistribution of downloaded content. In jurisdictions where it's permitted, downloading for personal offline viewing exists in a gray area — check your local laws. Don't redistribute content you didn't create.