tutorials

如何下載 Bilibili 影片到本機觀看(2026 最新教學)

使用 FlowPick 瀏覽器擴充功能下載 Bilibili 影片的完整教學,涵蓋 HLS 直播串流、DASH 影片、普通 MP4 內容、影片偵測與本機儲存。
FlowPick 團隊
11 分鐘閱讀
# bilibili # 影片下載 # hls # dash # 教學

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 接下來會:

  1. 並行下載影片和音訊分片
  2. 使用在瀏覽器內執行的 FFmpeg WebAssembly 合併音影片
  3. 將合併後的 MP4 儲存到下載資料夾

普通寬頻下,20 分鐘 1080P 影片通常需要 2-4 分鐘。

第六步:下載完成確認

FlowPick 彈窗會顯示下載進度。完成後檔案儲存在瀏覽器的預設下載目錄,直接可以用任意播放器打開。

處理分成多 P 的長影片

B 站允許 UP 主把長影片分成多個「分 P」。一部 3 小時紀錄片可能上傳為 P1、P2、P3,頁面上作為播放清單顯示。

每個分 P 是獨立的 DASH 串流,需要:

  1. 播放 P1,用 FlowPick 下載
  2. 切換到 P2(或點擊側邊欄的分 P),播放,下載
  3. 剩餘分 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 站使用條款限制下載內容的再傳播。在法律允許的地區,為個人離線觀看而下載處於灰色地帶——請自行了解當地法律。不要傳播你沒有創作的內容。


推薦閱讀