回到文章列表
圖文教學BilibiliCDNBrowser Extension

一個神祕設定解決 Bilibili 影片卡頓

海外看 B 站卡頓,換 DNS、開 VPN 都是碰運氣,真正的原因是 B 站分給你慢的 CDN 節點。裝一個擴充把影片固定在最快的節點,順便附上 Android 與電視的做法。

更新於 2 min30 次觀看文章語言

你各位B站看影片也卡成狗嗎?

懶人解法:瀏覽器裝擴充

懶得看原理,省流: 瀏覽器裝這個 (如果有竄改猴/油猴的同功能腳本記得先移除)

裝前裝後對比

Before

擴充關閉時:影片走 B 站分配的 Akamai 節點(cdn=…akamaized.net),下載速度 66 kB/s

After

擴充開啟後:同一支影片改走 08ct 節點,1080P+ 下載速度 3.3 MB/s

如果你還想繼續看

為什麼換 DNS、開 VPN 不一定有用

台灣看 bilibili 影片卡頓,搜尋網路常出現 VPN 啦,改 DNS 8.8.8.8 之類的,這些都不一定管用

因為真正的原因是B站給你分配了「慢速的 CDN 節點」。上面這些方法本質都是「提高拿到好節點的機率」,不能根治。所以跟哈密瓜一樣,有些人有用有些人沒用

如果想了解 CDN 是甚麼,可以看我這篇技術部落格文章:如何真正徹底解決 Bilibili 卡頓

真正的解法:固定最快的節點

真要徹底解決,你必須知道所在地區最好的節點,然後固定它

為此我做了這個插件,如果大家一般用電腦瀏覽器看,裝上面的擴充,強制影片走最快的節點

手機和電視怎麼辦

如果用Android看,不要用官方 APP,改用PiliNara這個三方 apk (好用很多沒廣告)
https://github.com/Starfallan/PiliNara/releases

如果用機上盒或智能電視,別用那什麼雲xx小電視(真的拉完了),用 blbl APP
https://github.com/roge4444/blblRogerMod/releases

原理都是一樣的,這些 APP 內建測速並固定 CDN 的功能


寫在最後

以上是我採雷三年多來的真心分享,非葉配

瀏覽器擴充是我自己做來給自己用的,永久免費。希望幫到有需求的人,有想要的功能或 bug 回報也可以留言或私訊

如果你裝上後覺得不錯,不妨順手留個五星鼓勵。或者到以下 Github 專案點個星星
https://github.com/a0972199950/bilibili-cdn-switcher?utm_source=lazy_cv&utm_medium=referral&utm_campaign=secret_setting_article&utm_content=zhtw

留言(0)

還沒有人留言,來當第一個吧!

相關文章

同一支 4K 影片開啟擴充前後:開啟前緩衝中只有 9 KB/s,開啟後 8.8 MB/s
技術分享9 min

如何真正徹底解決 Bilibili 卡頓

海外看 B 站為什麼熱門片很順、冷門片卡死:CDN 快取與回源、最窄的那一段決定速度、換 DNS 和開 VPN 為什麼時靈時不靈,以及我的擴充怎麼用台灣 14 家網路業者的實測挑出預設節點。

繁體中文 / English

CDNSpeedTest 測速進行中的畫面
圖文教學5 min

Bilibili CDN 測速 — 參加教學

圖文教學:下載 CDNSpeedTest.exe,通過網路檢查後掃碼登入,自動測完並發送報告,協助擴充功能找出各國最快的 B 站節點。

繁體中文 / 简体中文 / English / 日本語 / 한국어

B 站播放器上方的提示:目前 CDN 速度不佳,已自動切換至備援節點
技術分享11 min

在 B 站擴充裡偵測 CDN 失敗並自動切換備援節點

擴充怎麼判斷 CDN 節點真的壞了:哪些狀態碼要排除、卡頓怎麼用 currentTime 與前方緩衝判斷、為什麼先靜默換一次備援、還不行才問使用者,以及怎麼避免在節點之間來回彈跳。直播的處理方式也一併說明。

繁體中文 / English

封面:Network 面板的網域從 upos-hz-mirrorakam.akamaized.net 換成 upos-sz-mirror08ct.bilivideo.com,下方是四個 hook 點:__playinfo__、playurl API、.m4s 分段請求、直播
技術分享10 min

在 Chrome 擴充的 MAIN world 用 hook 即時改寫 Bilibili 串流 CDN

B 站的播放網址會從 SSR 的 __playinfo__、playurl API、分段請求和直播 API 進來。這篇用 bilibili-cdn-switcher 的程式碼說明每條路怎麼攔、改了什麼,以及 Response 只能讀一次、XHR responseText 唯讀、測速要繞過自己的 hook 這些坑。

繁體中文 / English

封面:越多人測,預設越準。循環四步:在家測速、拿到專屬節點、報告寄回給我、更新預設清單(cdn-list.json),再隨下一版擴充回到使用者
技術分享18 min

如何透過群眾測速自動迭代 B 站 CDN 選線品質

一支 Windows 測速程式怎麼在各地使用者家裡測 299 個 B 站節點、用分層影片和三段漏斗挑出最穩的 10 個當場寫進擴充,再把報告送回開發者,依業者市占加權改進各國預設節點,並照分析結果去補缺樣本的業者。

繁體中文 / English

封面:一份 src/ 經 build.mjs 打成 Chrome、Edge、Firefox 三個 zip(Chrome 和 Edge 是同一個 sha256),Safari 經 Xcode 工程上傳 App Store
技術分享16 min

在 B 站擴充裡用一份原始碼發佈到 Chrome、Edge、Firefox、Safari 四個商店

同一份 src/ 怎麼打包成四個商店的產物、為什麼 zip 要可重現(附實測 sha256 與換行踩坑)、5 語更新內容與 pre-push 卡點,以及一次 /release 哪些交給腳本、哪些一定自己來。

繁體中文 / English

封面:同一個網頁兩個 JS 世界。MAIN world 的 console 裡 typeof chrome.storage 是 undefined,ISOLATED world 是 object,兩邊共用 DOM 與 localStorage、用 postMessage 傳話
技術分享11 min

Chrome extension: MAIN world 與 ISOLATED world 的基本概念

content script 改了 window.fetch 網頁卻不理你?說明 MAIN 與 ISOLATED world 各自看得到什麼、三種指定 world 的方式與版本、什麼時候該拆成兩支腳本、兩邊怎麼用 localStorage 與 postMessage 傳話,以及 postMessage 要擋哪些偽造訊息。

繁體中文 / English