侧边栏壁纸
博主头像
いちごみるく

行动起来,活在当下

  • 累计撰写 70 篇文章
  • 累计创建 48 个标签
  • 累计收到 55 条评论

目 录CONTENT

文章目录

B 站视频卡顿排查:播放线路、DNS 与浏览器脚本

本文讨论 B 站播放卡顿时的域名观察与 DNS 对照实验。域名记录来自 2023 年,不能据此判断当前节点归属;开启 IPv6 或屏蔽某个域名都不保证播放变快。

一、先确认卡顿发生在哪一层

CDN 将内容放在多个节点,客户端通常从调度结果获得播放地址;节点地理距离近并不保证网络路径快。PCDN 则可能使用分布式终端资源。单凭域名中的 mcdn、cn- 或厂商缩写,无法证明当前节点的所有者、计费方式和完整网络拓扑。

2023 年记录过这些域名形式:

当时看到的形式 当时的推测 当前应如何使用
upos-sz-mirror*.bilivideo.com 对象存储或镜像线路 作为观察播放请求的线索,不能据缩写确定厂商
cn-*.bilivideo.com B 站自建节点 查看实际解析和请求时序,不整片默认封禁
*.mcdn.bilivideo.com MCDN 节点 域名形式不足以确认是某家宽带设备
*.v1d.szbdyd.com PCDN 相关线路 先证实当前视频确实在使用它

bilivideo.com 与 bilivideo.cn 是两个不同域名,针对其中一个的观察不能直接用于另一个的规则。开启 IPv6 也只增加一种可选连接路径,不能据此保证调度类型或播放速度。

浏览器开发者工具的 Network 面板可以检查媒体请求、状态码、等待时间和下载时间。一次慢请求可能来自 DNS、连接建立、源站响应、限速、丢包或本机解码;需要与同一视频、相近时间的对照结果一起判断。Chrome Network 面板说明

二、DNS 屏蔽可以做什么

AdGuard Home 的域名过滤只对经过它的 DNS 查询生效;直接使用 IP、客户端自带 DoH、既有缓存和已建立连接都可能不受影响。域名被屏蔽后,播放器也可能直接失败,不能假定一定回落到另一条可用线路。AdGuard DNS 过滤语法

在已经确认某个实际域名与卡顿相关后,可以暂时加入一条对应规则。例如,下面这条历史实验规则的匹配范围较大:

||szbdyd.com^

它会匹配该域名及子域名,应先了解影响范围。更稳妥的对照方式是只屏蔽此次请求的准确主机名,保留原设置、记录命中日志,清理相关缓存后重试;若播放失败或没有收益,移除规则。$important 只调整过滤规则优先级,不会让 DNS 获得控制直接 IP 连接的能力。

PCDN 接口规则和 MCDN 后缀规则也需逐项验证。接口、节点和客户端行为会变化,通配符会扩大影响,不宜把一份固定域名清单长期应用到所有客户端。

2023 年 AdGuard Home 规则实验

三、浏览器脚本属于另一种方案

当时试用过 Tampermonkey 的 Make BiliBili Grate Again,通过改写网页播放地址选择其他线路。它与 DNS 屏蔽的作用层不同,也依赖当时的网页结构、播放器和可用 URL。脚本是否仍维护、匹配哪些页面和请求什么权限,应在安装前检查,不能沿用旧教程直接安装后宣称解决卡顿。

Make Bilibili Great Again 脚本页面仅保留为历史来源,当前兼容性未验证。视频统计里的 Video Host 可以辅助确认地址变化,但地址变了仍需比较播放稳定性、延迟和下载速度。

2023 年播放地址观察

四、评估一个调整是否有效

在同一设备、同一视频和相近网络条件下,分别记录调整前后的请求域名、协议、成功率、首帧等待、缓冲次数和持续下载速度。不要同时修改 DNS、代理、IPv6 和浏览器脚本,否则无法判断究竟是哪一项起作用。对家庭网络的结论也不能直接推广到其他运营商、地区或 App。

3

评论区