星哥帶你玩飛牛NAS-20:把B站收藏同步下載到NAS,打造家庭教育、娛樂分中心
在大多數(shù)人的印象里,NAS 似乎就是一個(gè)“家庭文件柜”:備份照片、存點(diǎn)電影、同步資料……功能不算少,但也談不上驚艷。
如果你是一個(gè)B站的重度愛好者,您一定會(huì)把 B 站上那些優(yōu)質(zhì)學(xué)習(xí)資源、視頻、娛樂收藏起來。
但是如果能把收藏的視頻,自動(dòng)下載到NAS中,讓孩子、家人隨時(shí)隨地學(xué)習(xí),你可能會(huì)重新認(rèn)識(shí)這個(gè)“小盒子”。
今天,我們就來拆解一種非常實(shí)用、可落地的 NAS 新玩法:用 NAS 自動(dòng)采集 B 站學(xué)習(xí)資源 → 分類整理 → 使用Jellyfin(其他播放器也行) → 打造家庭教育中心。
![]()
為什么要把 B 站資源搬到 NAS?
B 站的學(xué)習(xí)內(nèi)容非常豐富,從科普、編程、數(shù)學(xué),到藝術(shù)、歷史、語言學(xué)習(xí),應(yīng)有盡有。但它也有幾個(gè)痛點(diǎn):
?資源分散:收藏夾越多越亂,想找某個(gè)視頻經(jīng)常翻半天。
?容易“被打斷”:學(xué)習(xí)視頻旁邊就是娛樂內(nèi)容,孩子很容易跑偏。
?無法統(tǒng)一管理:家長(zhǎng)難以為孩子定制學(xué)習(xí)內(nèi)容。
?網(wǎng)絡(luò)依賴強(qiáng):沒有網(wǎng)絡(luò)就無法觀看。
而 NAS 的優(yōu)勢(shì)剛好能補(bǔ)上這些短板:
? 本地存儲(chǔ)、隨時(shí)訪問
? 分類清晰、可控可管
? 自動(dòng)化腳本可實(shí)現(xiàn)“無人值守采集”
這就是為什么越來越多家庭開始用 NAS 打造“家庭教育中心”。
Bili?Sync 是什么?一句話概括
Bili?Sync 是一款用于自動(dòng)同步 B 站收藏夾、稍后再看、UP 主投稿等內(nèi)容到本地或 NAS 的工具。它的核心目標(biāo)是:讓你不再手動(dòng)下載 B 站視頻,而是讓 NAS 自動(dòng)幫你“搬運(yùn) + 分類 + 更新”。
項(xiàng)目官方主頁(yè)地址:bili-sync.allwens.work
bili-sync 是一款專為 NAS 用戶編寫的嗶哩嗶哩同步工具。它的基本的工作原理是使用用戶填寫的憑據(jù)定期掃描視頻合集、收藏夾等,獲取到本地未下載過的內(nèi)容并保存到本地,維持本地視頻庫(kù)與嗶哩嗶哩網(wǎng)站的同步。
下載的內(nèi)容包括視頻、封面、彈幕、標(biāo)簽與簡(jiǎn)介信息等,這些文件整體保持與 Emby、Jellyfin 等媒體服務(wù)器軟件兼容的文件布局,使得目的文件夾可以直接被作為媒體庫(kù)添加到這些軟件中,無需干預(yù)自動(dòng)識(shí)別。
如何開始,準(zhǔn)備工作
如果你想快速搭建這套系統(tǒng),可以參考以下步驟:
1. 準(zhǔn)備設(shè)備
? 一臺(tái) NAS(飛牛NAS、群暉、威聯(lián)通、都可以)
? 家庭網(wǎng)絡(luò)環(huán)境
Linux/amd64 與 Linux/arm64 兩個(gè)平臺(tái)可直接使用 Docker 或 Docker Compose 運(yùn)行,此處以 Compose 為例:
services:
bili-sync-rs:
# 不推薦使用 latest 這種模糊的 tag,最好直接指明版本號(hào)
image: amtoaer/bili-sync-rs:latest
restart: unless-stopped
network_mode: bridge
# 該選項(xiàng)請(qǐng)僅在日志終端支持彩色輸出時(shí)啟用,否則日志中可能會(huì)出現(xiàn)亂碼
tty: true
# 非必需設(shè)置項(xiàng),推薦設(shè)置為宿主機(jī)用戶的 uid 及 gid (`$uid:$gid`)
# 可以執(zhí)行 `id ${user}` 獲取 `user` 用戶的 uid 及 gid
# 程序下載的所有文件權(quán)限將與此處的用戶保持一致,不設(shè)置默認(rèn)為 Root
user: 1000:1000
hostname: bili-sync-rs
container_name: bili-sync-rs
# 程序默認(rèn)綁定 0.0.0.0:12345 運(yùn)行 http 服務(wù)
# 可同時(shí)修改 compose 文件與 config.toml 變更服務(wù)運(yùn)行的端口
ports:
- 12345:12345
volumes:
- ${你希望存儲(chǔ)程序配置的目錄}:/app/.config/bili-sync
# metadata/people 正確掛載才能在 Emby 或 Jellyfin 中顯示 UP 主頭像
# 右邊的目標(biāo)目錄不固定,只需要確保目標(biāo)目錄與 bili-sync 中填寫的“UP 主頭像保存路徑”保持一致即可
- ${Emby 或 Jellyfin 配置下的 metadata/people 目錄}:/app/.config/bili-sync/upper_face
# 接下來可以掛載一系列用于保存視頻的目錄,接著在 bili-sync 中配置將視頻下載到這些目錄即可
# 例如:
# - /home/amtoaer/HDDs/Videos/Bilibilis/:/home/amtoaer/HDDs/Videos/Bilibilis/
# 如果你使用的是群暉系統(tǒng),請(qǐng)移除最后的 logging 配置,否則會(huì)導(dǎo)致日志不顯示
logging:
driver: "local"使用該 compose 文件,執(zhí)行docker compose up -d即可運(yùn)行。
星哥正式部署
2.新建文件夾
NAS的路徑
/vol1/1000/bili-sync-file 【存放視頻】
/vol1/1000/Docker/bili-sync 【存放配置文件】填入
services:
bili-sync-rs:
# 不推薦使用 latest 這種模糊的 tag,最好直接指明版本號(hào)
image: amtoaer/bili-sync-rs:latest
restart: unless-stopped
network_mode: bridge
# 該選項(xiàng)請(qǐng)僅在日志終端支持彩色輸出時(shí)啟用,否則日志中可能會(huì)出現(xiàn)亂碼
tty: true
# 非必需設(shè)置項(xiàng),推薦設(shè)置為宿主機(jī)用戶的 uid 及 gid (`$uid:$gid`)
# 可以執(zhí)行 `id ${user}` 獲取 `user` 用戶的 uid 及 gid
# 程序下載的所有文件權(quán)限將與此處的用戶保持一致,不設(shè)置默認(rèn)為 Root
user: 1000:1000
hostname: bili-sync-rs
container_name: bili-sync-rs
# 程序默認(rèn)綁定 0.0.0.0:12345 運(yùn)行 http 服務(wù)
# 可同時(shí)修改 compose 文件與 config.toml 變更服務(wù)運(yùn)行的端口
ports:
- 12345:12345
volumes:
- /vol1/1000/Docker/bili-sync/config:/app/.config/bili-sync
# metadata/people 正確掛載才能在 Emby 或 Jellyfin 中顯示 UP 主頭像
# 右邊的目標(biāo)目錄不固定,只需要確保目標(biāo)目錄與 bili-sync 中填寫的“UP 主頭像保存路徑”保持一致即可
- /vol1/1000/Docker/bili-sync/upper_face:/app/.config/bili-sync/upper_face
# 接下來可以掛載一系列用于保存視頻的目錄,接著在 bili-sync 中配置將視頻下載到這些目錄即可
# 例如:
- /vol1/1000/bili-sync-file/:/downloads
# 如果你使用的是群暉系統(tǒng),請(qǐng)移除最后的 logging 配置,否則會(huì)導(dǎo)致日志不顯示
logging:
driver: "local"Releases頁(yè)面下載Bili?Sync
程序?yàn)楦鱾€(gè)平臺(tái)提供了預(yù)構(gòu)建的二進(jìn)制文件,并且打包了Linux/amd64與Linux/arm64兩個(gè)平臺(tái)的 Docker 鏡像。用戶可以自行選擇使用哪種方式運(yùn)行。
在程序發(fā)布頁(yè) https://github.com/amtoaer/bili-sync/releases 選擇最新版本中對(duì)應(yīng)機(jī)器架構(gòu)的壓縮包,解壓后會(huì)獲取一個(gè)名為bili-sync-rs的可執(zhí)行文件,直接雙擊執(zhí)行。
![]()
如果你使用這種方式運(yùn)行,請(qǐng)確保 FFmpeg 已被正確安裝且位于 PATH 中,可直接通過ffmpeg命令訪問。
星哥以windows系統(tǒng)演示,如下:
![]()
獲取B站信息 視頻名稱
?
video_name:指定下載的視頻文件的命名格式,支持使用模板,如{{title}}表示視頻標(biāo)題、{{bvid}}表示視頻編號(hào)、{{upper_name}}表示 up 主名稱、{{upper_mid}}表示 up 主 id 等。?
page_name:在多 P 視頻中,用于指定每個(gè)分 P 的命名格式,除了支持video_name中的參數(shù)外,還支持{{ptitle}}表示分 P 標(biāo)題、{{pid}}表示分 P 頁(yè)號(hào)。
? 也就是[credential]下面的參數(shù),包括sessdata
、bili_jct、buvid3、dedeuserid、ac_time_value,這些值可以通過瀏覽器開發(fā)者工具和本地存儲(chǔ)獲取,用于 Bili-Sync 登錄嗶哩嗶哩賬號(hào),獲取相應(yīng)的視頻資源。
?
favorite_list:用于設(shè)置嗶哩嗶哩收藏夾的 ID 與本地下載路徑的對(duì)應(yīng)關(guān)系,需要我們手動(dòng)添加參數(shù)。格式一般為:123456789 = "/downloads",表示將收藏夾 ID 為 123456789 的內(nèi)容下載到downloads目錄下。?
collection_list:用于合集/視頻的下載路徑,同樣需要我們手動(dòng)添加參數(shù)。格式一般為:"season:123456:123456" = "/downloads",表示將該合集的視頻下載到/downloads目錄下。
使用谷歌瀏覽器按F12
點(diǎn)擊“應(yīng)用程序”
在左側(cè)找到“Cookie”
隨意選中下面一個(gè)網(wǎng)址,就能在右側(cè)找到
sessdata,bili_jct,buvid3,dedeuserid 對(duì)應(yīng)的值。
![]()
獲取ac_time_value:
也是在當(dāng)前頁(yè)面,選擇“控制臺(tái)”,在最后一行輸入代碼“window.localStorage.ac_time_value”并回車,返回的一行代碼便是我們需要的值
![]()
2.B站的收藏夾
接著我們搞定下載路徑相關(guān)配置,先是咱們B站收藏夾內(nèi)的下載。我們需要打開自己B站的收藏夾,隨意點(diǎn)擊其中一個(gè)收藏分類,可以看到瀏覽器網(wǎng)址顯示的網(wǎng)址
space.bilibili.com/ <你的用戶id> /favlist?fid= <你的收藏夾的id> &ftype=create
知道了收藏夾 ID,所以我們此時(shí)的下載路徑配置就為:xxxxxxxx = "/downloads"(請(qǐng)注意,xxxxxxxx為純數(shù)字!)
如果有多個(gè)收藏夾需要下載在添加一行下載路徑配置即可。
3.前端認(rèn)證
我這里使用windows+bili-sync-rs-Windows-x86_64,來演示。
運(yùn)行時(shí)的日志,會(huì)生成auth_token。
[2mJan 29 17:52:19[0m [32m INFO[0m 歡迎使用 Bili-Sync,當(dāng)前程序版本:v2.10.3
[2mJan 29 17:52:19[0m [32m INFO[0m 項(xiàng)目地址:https://github.com/amtoaer/bili-sync
[2mJan 29 17:52:20[0m [32m INFO[0m 數(shù)據(jù)庫(kù)初始化完成
[2mJan 29 17:52:20[0m [33m WARN[0m 生成 auth_token:Z$=CuG87Yba%wW-B,可使用該 token 登錄 web UI,該信息僅在首次運(yùn)行時(shí)打印
[2mJan 29 17:52:20[0m [32m INFO[0m 配置初始化完成
[2mJan 29 17:52:20[0m [32m INFO[0m 開始運(yùn)行管理頁(yè):http://0.0.0.0:12345把a(bǔ)uth_token 填入設(shè)置中
![]()
![]()
認(rèn)證成功
![]()
4.在Bili?Sync設(shè)置中登錄B站
這里掃碼登錄或者填寫剛才獲取到的
sessdata,bili_jct,buvid3,dedeuserid、ac_time_value
我直接使用B站的掃碼登錄就行了。
![]()
5.打開我創(chuàng)建的收藏夾
就可以看到我的賬號(hào)在
![]()
6.點(diǎn)擊訂閱
報(bào)錯(cuò):
Bad request: path: Validation error: path must be a non-empty absolute path [{"value": String("默認(rèn)收藏夾")}]在我的電腦D盤新建一個(gè)文件夾
![]()
7.啟用視頻源![]()
8.執(zhí)行下載任務(wù)
回到首頁(yè)
![]()
9.查看視頻![]()
NAS
當(dāng)你把 B 站資源搬到 NAS,再把你的教育視頻下載到NAS中,用飛牛自帶的播放器、EMBY播放,你會(huì)發(fā)現(xiàn):NAS 不只是存儲(chǔ),它可以成為家庭教育的“內(nèi)容引擎”。
這套方案不僅能提升孩子的學(xué)習(xí)效率,也能讓家長(zhǎng)更輕松地管理學(xué)習(xí)資源。 如果你家里已經(jīng)有 NAS,不妨試試這種新玩法,也許會(huì)徹底改變你對(duì) NAS 的認(rèn)知。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.