Greasy Fork is available in English.

Bilibili 旧播放页

恢复原生的旧版页面,包括主页和播放页。

您查看的为 2020-08-11 09:17:14 UTC 提交的版本。查看 最新版本

作者
MotooriKashin
得分
0 0 0
版本
3.3.7
创建日期
2019-12-27
最近更新
2020-08-11
许可协议
MIT
应用到

Bilibili 旧播放页


Windows 8 Chrome 84 Firefox 79 Tampermonkey 4.10

  • Tampermonkey脚本,通过重写网页框架的方式切换到原生旧版页面
  • 默认启用了部分其他功能,可通过设置关闭
  • 可能会与其他同域脚本产生冲突,详情参见下文兼容数据
  • B站变动时间轴记录
    • 2019年12月09日:弃用 旧版av&Bangumi
    • 2019年12月24日:弃用 旧版稍后再看
    • 2020年03月23日:启用 BV代替av
    • 2020年04月04日:弃用 旧版主页
    • 2020年04月23日:开启 4K灰度测试
    • 2020年04月28日:弃用 播单
    • 2020年05月21日:改版 弹幕
    • 2020年07月13日:改版 稍后再看
    • 2020年07月29日:改版 新版播放器

脚本实现


关于设置

  • 设置入口设计得比较隐蔽以保护原生页面
  • 入口在页面右下角2~3厘米处鼠标移过会自动显现
  • 大部分设置都需要刷新才会生效
  • 设置数据存储在脚本管理器中与cookies无关
  • 这个动图 能解决所有设置相关问题

下载视频

dash.png flv.png

  • 右键播放器出现下载菜单,点击即可出现上图的下载面板
  • 右键对应的画质另存为,有IDM的可以右键IDM下载
  • 下载地址复制无效,左键点击无效,过期时间为120分钟
    • mp4:首选格式,一般最高只能获取到1080P
    • dash:视音频分流,视频avc/hev,音频aac
      • avc:h.264视频流,主流的视频编码,体积稍大,普遍兼容
      • hev:h.265视频流,较新的视频编码,体积较小,兼容较差
      • aac:aac音频流
    • flv:流媒体,基本同mp4,但老视频可能分段,如图二
    • 其他:提供其他附属下载,“--”表示未主动去获取大小而不是不可用
      • 弹幕:xml弹幕
      • 封面:封面图片
      • 海报:特殊背景图,只出现在特殊Bangumi页面
      • 中文:CC字幕文件,其他语言同理
  • dash和flv可能需要自行合并,工具如ffmpegMKVToolNix
    • dash:视频avc或hev选一,音频音质选一,合并为一个视频
    • flv:有多少分段下多少,连在一起才是一个完整视频
  • 捕获的是播放器播放的画质,尤其是flv格式,请先切换到对应画质
  • dash和flv不会同时出现,同样取决于播放器,mp4可能获取不到
  • 大会员视频和画质要有大会员,6分钟预览也只能捕获预览的部分

已知问题

以下问题这里可能处于并将长期处于无法解决状态,请多担待!

  1. 旧版页面载入较新版慢,因为无法在请求新版之前启用旧版。
  2. 旧版播放器原生不支持CC字幕,推荐安装Bilibili CC字幕工具进行支持。
  3. 旧版播放器原生不支持互动视频,已主动忽略。
  4. 旧版播放器原生不支持全景视频,将无法移动视角。
  5. 旧版主页部分失效分区已进行替换,广告-->资讯(排行接口失效 2020.07.30)。
  6. 旧版主页推荐位接口失效,已屏蔽三日\昨日\七日切换。
  7. 旧版播放页面的充电接口失效,请移步UP主的个人空间。
  8. 嵌入式页面只简单替换播放器不会单独适配其他功能(如 拜年祭)。
  9. 播单页使用二次跳转的方式绕开404错误所以载入比较慢。
  10. 收藏播放页会跳转av页进行模拟,up简介等非重要信息没有去额外获取,若列表视频过多载入及切P都将变慢。
  11. 楼层楼页数大于3且该页第一条评论是回复则该页无法获取楼层号。
  12. 各种由于浏览器缓存引发载入异常问题请尝试刷新,硬刷新(Shift + F5Ctrl + Shift + R)更佳。

兼容数据

Microsoft Windows 8 (Build 6.2.9200.0) (64 位)
Google Chrome 84.0.4147.105 (正式版本) (64 位) (cohort: Stable)
Tampermonkey BETA 4.10.6118

平台兼容问题:

  • Firefox最新版(79)旧版框架启用失败,原因不明,之前的版本没问题

代码兼容问题:

  • 旧版页面使用的document.write()方法对其他脚本及扩展的影响:
    • DOM的数据被覆盖
    • DOM的回调失效:如addEventListenerdocument.onclick
    • GM_setValue()方法失效
    • 注1:只针对以run-at document-start注入脚本
    • 注2:只针对启用了旧版框架的页面
    • 注3:window的属性和方法等不会失效

附上测试结果:

  • Bilibili Evolved基本正常
    GM_setValue失效,在旧版页面无法修改设置
    “简化主页”冲突,使旧版主页布局紊乱
    旧版番剧页面“批量下载”报错:“获取番剧数据失败: 无法找到 Season ID”
    快捷键拓展未适配,在旧版页面部分快捷键无效
  • Bilibili直播间挂机助手3完全正常
  • 解除B站区域限制基本正常
    旧版UI未适配,无法在旧版页面调出设置
    若要同时使用请关闭本脚本“区域限制”选项!
  • Bilibili CC字幕工具完全正常
    初次使用可能会报错:“CC字幕助手配置失败:SyntaxError: Unexpected token u in JSON at position 0”,去新版页面使用一次即可永久解决
    推荐安装以让旧版播放器支持CC字幕
  • Bilibili 修车插件完全正常
    推荐以run-at document-start注入
    推荐只在需要时启用该脚本
  • Bilibili - Whose Bullets完全正常
  • IDM Integration Module下载浮动条失效 ಥ_ಥ
  • pakku.js完全正常
  • smoothscroll平滑滚动失效 ಥ_ಥ

隐私相关

  1. 脚本在实现部分功能时可能会读取您的部分信息
    • cookies:与B站后端进行交互时默认带上了cookies以让B站识别用户身份
      • DedeUserID:用于判断是否登录,以修复动态等
      • bili_jct:用于与B站后端进行校验,实现点赞功能
  2. 脚本申请了GM_xmlhttpRequest权限只用于获取第三方数据,参见元数据@connect
    • BiliPlus:获取缓存的视频标题和封面等信息
    • Bilibilijj:获取缓存的视频标题和封面等信息
    • bilibili:同域名下的不同主机(如 www.bilibili.com 与 space.bilibili.com ),B站可能并未开通CROS权限,也只能采用GM实现跨域
  3. 脚本引用了部分公开库,用于无法自己独立实现的功能
    • protobuf:用于将新版proto弹幕转码为旧版播放器能识别的xml弹幕

参考致谢


效果预览

binguo.png

版本历史

  • 2020-08-10
    • 下载视频支持弹幕、封面等
  • 2020-08-09
    • 精确获取评论楼中楼层号
    • 更新最新的分区信息
    • 修复不含音频的dash导致下载出错
  • 2020-08-08
    • 支持修复评论楼中楼的楼层号
  • 2020-08-07
    • 修复bv超链接
    • 优化收藏列表模拟,排序、加快载入速度
  • 2020-08-06
    • 添加历史记录只显示视频播放历史的功能
    • 更新bangumi框架以处理页面部分请求重复的问题
  • 2020-08-05
    • 下载面板flv类型也显示画质
    • 优化脚本结构和注释便于维护
  • 2020-08-04
    • 实现旧版播放器支持新版弹幕 (感谢wly5556)
  • 2020-08-03
    • 修复点赞功能
  • 2020-07-31
    • 优化评论楼层功能
    • 优化失效视频功能
    • 下载视频将随切P而更新
  • 2020-07-30
    • 添加解除区域限制功能(大概不支持会员视频)
  • 2020-07-29
    • 添加屏蔽直播间视频及轮播视频的功能
    • 改进播放通知信息生成方法
  • 2020-07-28
    • 修复主页__INITIAL_STATE__错误
  • 2020-07-27
    • 修复分集数据错误
    • 替换失效的嵌入式播放器
  • 2020-07-15
    • 将下载按钮移动到播放器右键菜单
  • 2020-07-14
    • 修复新版av页__playinfo__报错
  • 2020-07-13
    • 修复一个三目运算语法错误
    • 改进视频下载功能
    • 修复新版稍后再看改版引发的布局问题
    • 重定向新版稍后再看
  • 2020-07-11
    • 改进去除首页广告功能
    • 改进bv=>av功能,使大部分模块直接显示av号
    • 修复主页部分分区问题
  • 2020-07-07
    • 修复设置界面在部分页面布局错乱
    • 改进嵌入式播放框架选择
    • 添加去除旧版主页广告选项
  • 2020-07-02
    • 修复新版播放页面样式误删
  • 2020-07-01
    • 修复部分av页播放器被隐藏问题
  • ……更多……