功能
離線下載
把劇集、字幕和彈幕留在 Mac 上,沒有伺服器也能播。
概覽
macOS 客戶端可以把一部作品複製到本機,在連不上伺服器時照樣播放。它不是第二個媒體庫,而是「接下來要看的東西」的快取:受你設定的磁碟配額約束,看完之後會自動消失。
離線下載是 macOS 客戶端的功能。伺服器只提供一個描述「一份副本需要什麼」的端點;Web 端只做串流,不保留本機副本。
一份副本包含什麼
每一集都完整保留,播放時不需要再去取任何東西:
| 部分 | 說明 |
|---|---|
| 媒體檔案 | 原始檔案,逐位元組複製。不轉碼、不重新封裝。 |
| 外掛字幕 | 伺服器已知的每一條 sidecar 字幕軌,含語言與標題。內嵌字幕隨檔案本身一起保留。 |
| 彈幕 | 製作副本當下的彈幕快照。 |
手動保留
在作品頁或離線分頁選擇要保留的劇集。進度按集顯示,重啟後會續傳;可以把某一集釘選,下面的規則就不會刪它。
自動保留
自動保留預設關閉——不問一聲就佔掉幾個 GB 是很討厭的事。在設定 › 離線裡打開後,它會:
- 為你追的每部作品保留接下來 1、2、3 或 5 集未看的劇集。
- 在啟動時、每小時、以及伺服器通知有新集可看時各跑一次。
- 在你最後一次播放後 24 小時刪掉已看完的副本(釘選的除外)。
- 透過優先刪除最早看完的副本,把佔用控制在配額內——5、10、20、50 或 100 GB。釘選的副本永遠不會被刪。
播放
本機副本位於播放階梯的最上層:
- 離線副本 —— 直接從 Mac 自己的磁碟播放。
- 本機檔案 —— 透過掛載的磁碟區讀取媒體庫檔案。
- 直接串流 —— 向伺服器發 byte-range 請求。
- 重新封裝 —— MKV 轉成 MP4。
- HLS 轉碼 —— 自適應串流。
某一層不可用時播放器會退到下一層,所以副本在 App 不知情的情況下被刪掉,也只是改為串流而已。
保持最新
清單裡的每個檔案都帶 ETag 和大小。當伺服器上的檔案發生變化——換了更好的版本、修好了一次壞掉的下載——本機副本就對不上了,下一輪規則執行時會重新下載。
API
GET /api/v1/anime/{bangumiId}/offline-manifest 一次回傳一部作品的全部可播劇集:檔案 URL、大小、ETag、容器與編碼、字幕軌、彈幕 URL——客戶端做一份副本所需的一切。見 API 參考。