B 站有个非官方的周刊排行榜做的很好,到现在已经有 362 期持续 7 年了。曾经有段时间视频中的视频编号可以点击跳转到对应的视频,目测是通过高级弹幕实现的,但不知为何后来又没了。为了让自己在看到感兴趣的视频时,免去从全屏状态退出然后手输视频编号的麻烦,写了一个油猴脚本自动提取视频编号,然后在后台打开视频或者在页面上插入视频链接,以便稍后观看。
原理
通过 canvas 截取 H5 视频中某时刻的部分内容,然后借助 Tesseract 这个 OCR 库来识别图片中的视频编号。
使用说明
- 安装浏览器扩展 Tampermonkey
- 安装本工具脚本,点击安装
- 打开一个榜单类视频,比如周刊排行榜
- 播放视频,按下
Alt+W
键后使用鼠标左键拖拽放手选定视频编号所在的区域(只有当编号所在位置发生变化才需要重新选定区域) - 确认选定的区域包含视频编号(以弹出图片的形式供用户确认)
- 回到视频,按下
Alt+Q
键开始识别(初次使用需等待识别库加载数据,大小为 9m,加载进度会显示在浏览器标签页上) - 识别成功后会在后台新标签页打开编号对应的视频,或者在当前页插入链接,或者在评论框插入视频编号标题
注意事项
- 必须使用 HTML5 播放器
- 安装完脚本后 Tampermonkey 会自动下载外部依赖的脚本,大小 2.78m,所以如果按快捷键没反应请等等然后刷新页面重试
- 首次使用必须下载 9m 大小的 OCR 数据,时间可能有点久(我能怎么办,我也很绝望啊),加载进度会显示在浏览器标签页上
- 选择区域和识别的快捷键可定制
- 识别成功后执行的操作可开关
更新记录
- 2017年6月20日更新到 v0.2
- 本脚本不支持 Flash 播放器,使用时检测并提示换 HTML5 播放器
- 在浏览器标签显示识别进度
- 2017年12月25日更新到 v0.3
- 因新版 Chrome 浏览器不再支持 dataURI 弹窗,所以改为在本页弹出确认截图
- 2019年10月17日更新到 v0.4
- 修复因为 Tesseract 更新而不可用的问题
- 修复识别成功后获取视频标题失败的问题(番剧类视频依然无法获取标题)
- 设置识别区域的快捷键从
Alt+A
改为Alt+Z