Greasy Fork is available in English.

Bilibili 旧播放页

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

您查看的为 2020-08-26 06:21:50 UTC 提交的版本。查看 最新版本

作者
MotooriKashin
得分
0 0 0
版本
3.4.4
创建日期
2019-12-27
最近更新
2020-08-26
许可协议
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日:启用proto弹幕
    • 2020年07月13日:启用收藏式稍后再看
    • 2020年07月29日:启用新播放器加载图
    • 2020年08月25日:旧版番剧信息被风控

脚本实现


关于设置

  • 设置入口在页面右下角2-3厘米处贴边,鼠标移动到位置会自动浮现,点击即可出现设置面板。
  • 所有设置选项可通过对应按钮选择启用还是关闭,鼠标移动到对应选项会出现简短提示。
  • 大部分设置都不会及时生效,需要刷新页面,部分设置之间可能相互依赖。
  • 如果实在不会操作,这个动图 应该能解决所有一些问题

下载视频

dash flv

  • 下载入口在播放器右键菜单(需在设置启用“下载视频”)
  • 底部出现如图的下载面板,右键另存为即可,注意:
    • 鼠标左键直接点击无效!(浏览器同源策略)
    • 直接复制链接到第三方工具无效!(B站防盗链策略)需额外配置:
      • referer:*.bilibili.com域名下
      • user-agent:任意有效值(不能为空)
    • IDM用户可以右键IDM(也能捕获左键点击)
  • 画质和格式取决于当前播放,所以:
    • 下载前建议切换到所需画质
    • 能播放才能下载(大会员、港澳台)
    • 6分钟预览也只能捕获预览
  • 下面是格式说明:
    • mp4:原生mp4视频(含音频),最高只有1080P
    • avc:h.264视频流(无音频),建议修改拓展名为.m4v
    • hev:h.265视频流(无音频),建议修改拓展名为.m4v
    • aac:纯音频,建议修改拓展名为.m4a
    • flv:flash流媒体(含音频)
    • 弹幕:xml格式弹幕
    • 封面:视频封面,Bangumi封面
    • 海报:特殊Bangumi背景图
    • 中文:CC字幕,以对应语言命名
  • 无音频的视频流(avc/hec)需要另外下载音频(aac)部分:
    • avc(h.264)、hev(h.265)视频流二选一,或者无脑选avc
    • aac音频无脑选体积最大的
    • 视频流 + 音频流 = 视频(封装)
  • flv格式如果分段就要下载全部分段:
    • 只有一个分段就是没分段,这种flv约等于mp4
    • 分段1 + …… + 分段n = 视频(合并)
  • 封装和合并操作需要自行使用第三方工具:ffmpeg、MKVToolNix……
  • 设置里开启“新版弹幕”后下载面板上的就是proto弹幕转化而成的xml弹幕
  • 其他部分大小数据为“--”不影响下载

按:有mp4的话自然下载mp4最好,可惜如果要更高画质只能DASH/flv二选一。DASH格式必然是音视频分流的,flv除了老视频都已经不分段了,但播放器默认选择的是DASH,脚本也没有去额外请求flv格式。以后可能会,如果有需求的话。


已知问题

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

  1. 由于实现机制做不到在浏览器访问新版页面之前启用旧版页面,所以旧版页面载入比较慢且新版页面可能一闪而过。
  2. 旧版播放器已失去官方维护,版本停留在2019-10-31 07:38:36,所以新版播放器互动视频、全景视频、高能进度条等功能是不支持的,互动视频脚本已主动忽略不会启用旧版,全景视频无法移动视角,CC字幕有Bilibili CC字幕工具提供第三方支持。
  3. 主页内容改版极大,旧版很多接口已出现问题,脚本已将被废弃的广告区替换为资讯区的内容,但B站并不提供资讯区的排行所以右边排行榜无法获取。推荐视频不再提供三日/昨日/一周分类,已屏蔽对应的切换按钮。直播推荐及排行已通过xhr hook方式修复。
  4. 旧版播放页面的充电接口是失效的,为避免财产损失请不要使用,新版播放页面也不提供充电入口,需要给UP主充电请移步对应的空间。
  5. 替换嵌入播放器后顶层页面对于播放器的控制将失效,脚本也无暇去一一适配,不过涉及的页面也不多,已知的只有拜年祭2020专题页面。
  6. 播单相关的页面直接被B站404,而404指令会限制对页面的修改,只能使用重定向的方式恢复播单的播放页面。
  7. 收藏列表的播放页面并不存在对应的旧版,脚本使用重定向到av页并载入稍后再看列表进行模拟,但并不完美,请尽量不要在播放列表太大时启用。已知稍后再看列表上限是100,用来模拟容量为999的收藏列表极为卡顿。
  8. 恢复评论楼层号时一并添加了楼中楼的楼层号,当楼中楼的当前页码大于2且第一条评论是@回复别人时,那页楼中楼的所有评论楼层号将无法获取。
  9. 页面载入异常时请先尝试刷新,硬刷新更佳(Shift + F5Ctrl + Shift + R)。部分功能由于脚本无法在浏览器读取缓存前注入而失效,同样只能靠硬刷新缓解。

兼容数据

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

  • Firefox最新版(79)旧版框架启用失败,原因不明,之前的版本没问题
  • 旧版页面使用的document.write()方法对其他脚本及扩展的影响:
    • DOM的数据被覆盖
    • DOM的回调失效:如addEventListenerdocument.onclick
    • GM_setValue()方法失效
    • 只针对以run-at document-start注入脚本
    • 只针对启用了旧版框架的页面
    • 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站后端进行交互时识别用户身份
      • DedeUserID:判断是否登录
      • bili_jct:与B站后端进行操作验证
  2. 脚本申请了GM_xmlhttpRequest跨域权限,@connect元数据如下
  3. 脚本引用了部分公开库

参考致谢


效果预览

binguo.png

版本历史

  • 2020-08-25
    • 重构Bangumi的__INITIAL_STATE__以绕开B站风控
    • 修复嵌入播放器替换失败的问题
  • 2020-08-23
    • 不再预隐藏av页播放器,以优化Firefox79体验(未根本解决)
  • 2020-08-18
    • 修复4k画质初始化播放器
  • 2020-08-16
    • xhrhook选项调整为只控制send(open因为太多功能依赖默认开启)
    • 修改话题、活动主页版头类型
    • 添加跳过充电鸣谢功能
  • 2020-08-14
    • 补全下载清晰度信息
  • 2020-08-11
    • 提供xhrhook关闭选项,关闭后部分依赖功能将一并被关闭
    • 下载就算左键误点也将在新标签页打开
  • 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
    • 修复点赞功能
  • ……更多……