解决B站CDN导致视频加载卡顿的一种方法

目录
警告
本文最后更新于 2022-10-20,文中内容可能已过时。
《关于我用千兆宽带看 B 站 4K 还卡顿这件事》
感谢
- MBGA 插件作者 @kookxiang 的回复
- 迁移前评论区 @baysonfox 的补充
相关介绍
CDN 和 PCDN
CDN 的全称是 Content Delivery/Distribution Network,即内容分发网络。
以 B 站为例,他们把视频,音频等资源部署到各个 CDN 节点。当用户访问时会直接读取对应节点的数据。直连和使用 CDN 的区别可以粗略的理解为店铺发货与京东备货仓库发货的区别。
当然这一切的前提建立在成本上,而 B 站显然大量使用了低成本的 PCDN。
PCDN 指的是 P2P CDN,相当于将 CDN 的服务商变成了个人。而由于宽带质量良莠不齐,就出现了简介中视频卡顿的现象。
B 站 CDN 分类
根据自己打开不同热度不同类型的视频结合网上搜集的信息,大致分为以下几种:
- 服务商 CDN
upos-sz-mirror****.bilivideo.com
看域名应该是服务商方案
腾讯:cos,cosb,coso1,coso2,bos
金山:ks3,ks3b,ks3c,ks32
七牛:kodo,kodob
华为:hw,hwb,uphw,js
阿卡迈(海外):akamai - 自建 CDN (?)
cn-****-dx-v-**.bilivideo.com
可能是 B 站的自建服务器其中可以看到省份和城市首字母缩写 - MCDN
xxxxx(ip地址).mcdn.bilivideo.com
查了一圈只在京东云发现了 MCDN,可能是京东云无线宝相关?也可能是京东云+无线宝相互配合?
怀疑 MCDN 包含无线宝的原因是 IP 段为家宽段 - PCDN
********.v1d.szbdyd.com
到这就完全看脸了,各个地区上行带宽不可控,你连接到的节点与你的距离不可控,极端环境下甚至无法顺利播放 1080+值得一提的是,bilibili 客户端 (浏览器未测试) 似乎已经开始直接使用 IP 连接 PCDN 节点,端口集中在4480 同时会连接 hw-sh-pcdn-08.biliapi.net:443, 但无抓包条件, 返回内容未知. (深圳电信)
解决方法
- 浏览器安装 Tampermonkey
- 打开 MBGA 点击安装脚本
- 点击 Tampermonkey > 管理面板,点击 “Make BiliBili Grate Again”
- 将 108 行处
urlObj.port = 443
改为urlObj.port = 4483
- 点击 文件 > 保存
之后刷新视频,右键点击视频统计信息,查看 Video Host
是否已变为 UPOS