milmilmilmil
功能

離線下載

把劇集、字幕和彈幕留在 Mac 上,沒有伺服器也能播。

概覽

macOS 客戶端可以把一部作品複製到本機,在連不上伺服器時照樣播放。它不是第二個媒體庫,而是「接下來要看的東西」的快取:受你設定的磁碟配額約束,看完之後會自動消失。

離線下載是 macOS 客戶端的功能。伺服器只提供一個描述「一份副本需要什麼」的端點;Web 端只做串流,不保留本機副本。

一份副本包含什麼

每一集都完整保留,播放時不需要再去取任何東西:

部分說明
媒體檔案原始檔案,逐位元組複製。不轉碼、不重新封裝。
外掛字幕伺服器已知的每一條 sidecar 字幕軌,含語言與標題。內嵌字幕隨檔案本身一起保留。
彈幕製作副本當下的彈幕快照。

手動保留

在作品頁或離線分頁選擇要保留的劇集。進度按集顯示,重啟後會續傳;可以把某一集釘選,下面的規則就不會刪它。

自動保留

自動保留預設關閉——不問一聲就佔掉幾個 GB 是很討厭的事。在設定 › 離線裡打開後,它會:

  • 為你追的每部作品保留接下來 1、2、3 或 5 集未看的劇集。
  • 在啟動時、每小時、以及伺服器通知有新集可看時各跑一次。
  • 在你最後一次播放後 24 小時刪掉已看完的副本(釘選的除外)。
  • 透過優先刪除最早看完的副本,把佔用控制在配額內——5、10、20、50 或 100 GB。釘選的副本永遠不會被刪。

播放

本機副本位於播放階梯的最上層:

  1. 離線副本 —— 直接從 Mac 自己的磁碟播放。
  2. 本機檔案 —— 透過掛載的磁碟區讀取媒體庫檔案。
  3. 直接串流 —— 向伺服器發 byte-range 請求。
  4. 重新封裝 —— MKV 轉成 MP4。
  5. HLS 轉碼 —— 自適應串流。

某一層不可用時播放器會退到下一層,所以副本在 App 不知情的情況下被刪掉,也只是改為串流而已。

保持最新

清單裡的每個檔案都帶 ETag 和大小。當伺服器上的檔案發生變化——換了更好的版本、修好了一次壞掉的下載——本機副本就對不上了,下一輪規則執行時會重新下載。

API

GET /api/v1/anime/{bangumiId}/offline-manifest 一次回傳一部作品的全部可播劇集:檔案 URL、大小、ETag、容器與編碼、字幕軌、彈幕 URL——客戶端做一份副本所需的一切。見 API 參考。

本頁內容