如何下載 Bilibili 影片到本機觀看(2026 最新教學)
B 站是網路上最有趣的影片平台之一——融合了 YouTube、Reddit 和番劇平台的特質。截至 2025 年,月活使用者超過 3.4 億,內容從手繪動畫到大學公開課,從遊戲全程速通到 8 小時直播回放應有盡有。
官方 App 允許大會員下載離線觀看,但格式是專有的 .blv,只能在 App 裡播,只能在下載的那台裝置上看,且大會員到期後失效。這和大多數人說的「離線」不是一回事。
本教學介紹如何將 B 站影片下載為標準 MP4 檔案,真正留在本機。
B 站實際用的是什麼格式?
B 站 2019 年從 Flash 遷移到 HTML5 影片,大多數內容現在透過 DASH(動態自適應 HTTP 串流媒體) 傳輸,這意味著:
- 影片軌道和音訊軌道以獨立串流傳輸
- 每條軌道被切成幾百個小的
.m4s分片 - 一個中央 MPD 清單檔案描述所有內容的位置
在 B 站頁面打開開發者工具看 Network 面板,通常會看到一個 JSON API 回應,裡面包含 MPD URL 或分片 URL 列表——不是直連 .mp4。那個 JSON 回應就是播放器用來構建 DASH 串流的資料。
直播(live.bilibili.com)切換到 HLS/M3U8 而非 DASH,走的是完全不同的傳輸管線。關於 M3U8 的工作原理,參見 HLS 下載完整指南。
番劇和 UP 主投稿的格式區別
值得一說:B 站的內容並非鐵板一塊。UP 主普通投稿和番劇/大會員專區在後台走的不是同一套分發邏輯:
| 內容類型 | 傳輸格式 | 說明 |
|---|---|---|
| UP 主普通投稿 | DASH(.m4s) | 大多數日常影片 |
| 番劇正片 | DASH(.m4s) | 需要登入,部分需要大會員 |
| 互動影片 | DASH + 特殊分支邏輯 | FlowPick 擷取播放的分支 |
| 直播 | HLS(.m3u8) | 走完全不同的管線 |
| 直播回放 | DASH(.m4s) | 直播結束後轉為靜態串流 |
FlowPick 對這幾種都能處理,但操作節奏略有不同——主要差別在於番劇有更嚴格的 CDN 簽章權杖,有效期更短,要盡量一次性下載完。
畫質等級說明
B 站的畫質比較容易搞混,因為有些解析度需要登入,有些需要大會員:
| 解析度 | 要求 |
|---|---|
| 360P | 無需帳號 |
| 480P | 免費帳號(已登入) |
| 720P | 免費帳號(已登入) |
| 1080P | 免費帳號(已登入) |
| 1080P+ / 60fps | 大會員 |
| 4K / HDR | 大會員 |
| 杜比視界 | 大會員 |
FlowPick 擷取的是播放器實際傳輸給你的內容。如果你有大會員,播放器載入高碼率串流,FlowPick 就能看到那些;免費帳號則最高到 1080P 標準。
一步步下載 B 站影片
第一步:安裝 FlowPick
從 Chrome 線上應用程式商店 或 Edge 附加元件 安裝,一鍵完成,無需註冊。
如果你已經登入 B 站,保持登入狀態——FlowPick 需要它來存取你帳號對應的畫質。
第二步:打開影片並開始播放
進入 bilibili.com/video/BVxxxx(任意影片頁面),影片必須真正開始播放,不只是打開頁面。不自動播放的話點一下播放按鈕。
這很重要:B 站播放器直到開始播放才請求 DASH 清單,FlowPick 在等那個請求。
第三步:打開 FlowPick 彈窗
點擊瀏覽器工具列的 FlowPick 圖示,角標上的數字顯示偵測到的串流數量。在 B 站通常會看到:
- 主影片,以 DASH/MPD 條目呈現(可能有多個畫質)
- 獨立的純音訊條目
- 有時有廣告串流(檔案更小——忽略它們)

第四步:選擇影片條目
點擊對應你的影片的 DASH 條目(看估計檔案大小更大的那個——那是實際內容,不是 30 秒前貼片廣告)。
FlowPick 解析 DASH 清單後顯示所有可用的畫質,選擇你想要的解析度。

第五步:命名並下載
給檔案取個名字,設定執行緒數(預設是 2,普通寬頻用 4-6 就夠,沒必要拉滿),點擊 Pick。
FlowPick 接下來會:
- 並行下載影片和音訊分片
- 使用在瀏覽器內執行的 FFmpeg WebAssembly 合併音影片
- 將合併後的 MP4 儲存到下載資料夾
普通寬頻下,20 分鐘 1080P 影片通常需要 2-4 分鐘。
第六步:下載完成確認
FlowPick 彈窗會顯示下載進度。完成後檔案儲存在瀏覽器的預設下載目錄,直接可以用任意播放器打開。

處理分成多 P 的長影片
B 站允許 UP 主把長影片分成多個「分 P」。一部 3 小時紀錄片可能上傳為 P1、P2、P3,頁面上作為播放清單顯示。
每個分 P 是獨立的 DASH 串流,需要:
- 播放 P1,用 FlowPick 下載
- 切換到 P2(或點擊側邊欄的分 P),播放,下載
- 剩餘分 P 重複操作
如果想合併成一個檔案,之後用任意影片編輯器或 ffmpeg 合併:
ffmpeg -f concat -safe 0 -i filelist.txt -c copy combined.mp4
其中 filelist.txt 內容:
file 'part1.mp4'
file 'part2.mp4'
file 'part3.mp4'
下載 B 站直播
live.bilibili.com 的直播用 HLS 而非 DASH,過程類似但有關鍵區別:
- 只能從你開始的那一刻起錄製。 沒有回撥——如果你錯過了前 30 分鐘,那些分片已經從 CDN 消失。
- 串流 URL 過期很快——通常 30-60 分鐘。超時下載可能半途失敗。
- 優先找回放 URL。 如果主播開啟了錄播,回放會變成靜態 DASH 串流(不是直播 HLS),可以在直播結束後乾淨下載。
直播擷取場景:早點開始 FlowPick,不要等到有什麼精彩時刻再開始。
番劇下載注意事項
番劇的 CDN 權杖有效期通常比普通投稿更短(據使用者回饋通常在 2 小時以內),而且可能按 IP 綁定。幾個建議:
- 不要在開始下載後切換網路(比如從 WiFi 切到手機熱點),會導致權杖驗證失敗
- 不要讓下載任務掛太久。20 分鐘的番劇,下載通常 2-3 分鐘,一直開著不管然後幾小時後回來看——大機率失敗了
- 遇到下載失敗,直接重新整理頁面重新偵測,重新開始下載就好
常見問題
「偵測到 0 個串流」
最可能的原因是影片還沒開始,試試:
- 手動按播放鍵
- 等影片緩衝前 5 秒
- 重新整理頁面(播放器有時初始化狀態過期)
還是沒有:B 站偶爾把播放器包在 iframe 裡。右鍵影片 →「在新分頁中開啟框架」→ 在那裡試 FlowPick。
下載在 70-80% 時卡住
串流 URL 已過期。B 站 CDN 簽章 URL 通常有 6 小時有效期,付費內容可能更短。重新載入頁面、重新偵測、開始新的下載。不要開始後長時間不管。
輸出檔案沒有聲音
音訊串流沒有被擷取。通常發生在:
- 影片自動跳到下一個分 P
- 彈窗或廣告打斷了音訊串流初始化
重新載入,從影片開頭播放(不要靜音),下載前重新偵測。
輸出是 .blv 格式
這不是 FlowPick 幹的——你不小心用的是官方 B 站 App 的「快取」功能。確保你用的是瀏覽器擴充功能在網頁播放器上操作,不是 App。
只下到 360P,明明有大會員
FlowPick 擷取的是播放器實際請求的串流。如果頁面顯示 360P,說明播放器選擇了 360P——點擊播放器裡的畫質切換按鈕,手動切到高畫質再重新偵測。
大檔案下載
B 站 4K 影片體積可以達到幾個 GB。FlowPick 透過瀏覽器的 File System Access API 做串流寫入,不受檔案大小限制。下載過程中記憶體佔用穩定,不會因為檔案大導致瀏覽器卡死。
建議用 Chrome 或 Edge 下載大檔案——這兩個瀏覽器對 FSA 串流寫入支援最完整。
法律說明
FlowPick 擷取的是你的瀏覽器已經在渲染的影片。B 站使用條款限制下載內容的再傳播。在法律允許的地區,為個人離線觀看而下載處於灰色地帶——請自行了解當地法律。不要傳播你沒有創作的內容。
推薦閱讀
- 什麼是 DASH 串流媒體?MPD 檔案解析 — B 站主要串流媒體格式的深度解析
- 如何下載 M3U8/HLS 串流:完整入門指南 — B 站直播走 HLS,這篇講 HLS 的完整操作
- 如何批次下載網頁上的所有圖片 — 批次抓取 B 站動態和評論區的配圖
- FlowPick 與 Video DownloadHelper 對比 — B 站這類 DASH 重度平台的工具對比