Bilibili CC字幕助手

旧版播放器可用CC字幕,ASS/SRT/LRC格式字幕下载,本地ASS/SRT/LRC格式字幕加载

目前为 2019-03-03 提交的版本。查看 最新版本

作者
indefined
评分
0 0 0
版本
0.3.4
创建于
2019-02-28
更新于
2019-03-03
大小
32.6 KB
许可证
MIT
适用于

bilibili CC字幕助手

脚本发布页

个人脚本仓库

问题反馈到这里

提交问题反馈前请先看完兼容和已知问题


功能

  • 旧版HTML5播放器支持使用CC字幕
    • 可配置语言/字体/背景/阴影等
  • 新/旧版HTML5播放器可用CC字幕下载
    • 支持ASS/SRT/LRC格式转换
  • 新/旧版播放器可用本地字幕加载
    • 支持ASS/SRT/LRC格式
    • 仅支持系统默认编码,否则字幕会乱码
    • 目前在多数视频可启用,但可能会有异常情况,详见已知问题

功能预览

新版

旧版

下载


兼容性

  • chrome 71 @ Tampermonkey 4.7/4.8 测试通过
  • firefox 60 @ Tampermonkey 4.8 、Violentmonkey v2.10.1 部分功能可用
    • 新版播放器下载/本地字幕加载功能正常可用
    • 旧版播放器选择语言/字幕位置/描边下拉框将不可用,浏览器本身DOM解析引擎差异问题
    • 如果视频本身有字幕,点击CC字幕按钮可切换第一种语言的字幕或关闭字幕
    • 本地字幕可能因为无法选中而无法使用,虽然功能应该是正常的
  • Android Webview70内核原生书签法至少有firefox级别的功能可用(搞笑测试)
  • 不兼容GreaseMonkey4+,因为GM4的安全限制原因无法获取到视频播放器
  • 其它浏览器和脚本管理器未知

已知问题

  • 字幕下载
    • ASS格式字幕下载可能会有显示不正常的情况
    • 如果是字体/样式显示不正常请使用SRT格式
    • 如果有其它显示不正常情况请提交反馈视频链接
    • LRC歌词格式本身只有起始时间戳没有结束时间,会丢弃所有字幕结束时间
    • LRC歌词格式不支持换行,如果字幕本身有换行将替换为空格
  • 本地字幕
    • 加载可能会乱码,以后可能会更新
    • 可能会加载失败,但是不会有提醒,问题定位中
    • 字幕可能会丢失内容,因为b站的CC字幕不支持时间轴重叠
    • 旧版播放器选择本地字幕后如需更换本地字幕需先关闭后再重新选择
    • 新版播放器选择本地字幕后
    • 如果视频本身有字幕,CC字幕按钮将处于关闭状态,点击按钮会切换到视频本身字幕
    • 如果视频本身没有字幕,CC字幕按钮将不会改变,点击按钮可以切换关闭和本地字幕
    • B站的CC字幕不支持内置样式,所有ASS字幕内置的样式会被丢弃
    • B站的CC字幕不支持字幕特效,所有{\code}格式的字幕特效将会被替换忽略
    • 非贪婪匹配,可能会有部分特效代码残留导致类似乱码的字符出现在字幕中
    • 如有类似特效代码残留请反馈提交原始字幕内容
    • LRC歌词格式本身只有起始时间戳没有结束时间,所有字幕会持续到下一条字幕开始或者结束后20秒
    • 不支持XLRC格式,如果选择了XLRC格式的LRC后缀歌词:
    • 所有翻译行将被忽略
    • 如果歌词中没有逐字控制符,字幕可正常显示原语言内容
    • 如果歌词中含有逐字控制符,字幕将会表现为乱码

设置存储相关

  • 本脚本使用浏览器自身的localStorage存储设置数据
  • 包含播放器其它设置数据所有网页新旧版通用
  • 新版播放器的设置保存读取由播放器自身维护
  • 旧版播放器设置保存读取由脚本自身维护
    • 脚本在初始化时读取播放器设置内的字幕设置
    • 页面关闭时重新读取整个播放器设置并替换字幕设置为设置面板内容
    • 如果开启多个旧版播放器网页,最后一个关闭的页面设置有效

TODO

  • [ ] toast,关键操作和错误提示
  • [ ] 薛定谔的本地字幕加载失败调试
  • [ ] 旧版设置面板兼容优化
  • [ ] 本地字幕选择操作界面