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

警告
本文最后更新于 2022-10-20,文中内容可能已过时。

《关于我用千兆宽带看 B 站 4K 还卡顿这件事》

感谢

相关介绍

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

参考链接

通信人家园
V2ex

0%