2024.6.1
pakku 2024.6.1 版本主要增加了一些高级用户可能会用到的新功能,以及一些性能提升和 bug 修复。
以下是 2024.6.1 版本相比于 2024.5.1 的变化。
新功能
弹幕密度分析图更新
在此前的版本中,弹幕密度分析图并不会显示有多少弹幕被删除了(包括命中播放器屏蔽词和被自动弹幕优选功能删除的弹幕)。从 2024.6.1 版本起,弹幕密度分析图会把被删除弹幕的密度显示为一个独立的部分。
如下图所示,图中的蓝色、黄色、红色部分分别对应实际显示的、被合并的、被删除的弹幕密度。因此之前版本的红色对应现在的黄色。
另外,2024.6.1 版本还调整了弹幕密度分析图的密度计算公式,使其与 pakku 其他功能的计算方式相同。
通过用户脚本修改弹幕元信息
从 2024.6.1 版本起,用户脚本新增 tweak_proto_view
API,可以修改播放器获取到的弹幕元信息(api.bilibili.com/x/v2/dm/web/view),详见 用户脚本文档。
由于这是 B 站播放器的私有 API,pakku 不保证此接口的稳定性,也无法解释每个字段的准确含义。可以在播放器页面的 console 里搜索 “pakku protobuf api: got view” 来看看它的具体内容。
以下是一些利用此 API 可以实现的功能:
tweak_proto_view(view=>{
// 删除视频中的一键三连按钮
view.commandDms = view.commandDms.filter(d => d.command!=='#ATTENTION#');
// 禁用表情弹幕,如 “OHH”
view.expressions = [];
// 删除偶尔出现的贴片广告,如 “云视听小电视”
view.activityMetas = [];
view.maskWalls = [];
view.postPanel = [];
view.postPanelV2 = [];
// 非硬核会员启用 “硬核会员弹幕模式” 选项
view.dmSetting.seniorModeSwitch = 3;
});
自定义数值类型选项
pakku 的设置页面中有很多数值类型的选项,但仅能在几个预设值(禁用、轻微、中等、强力)中选择一个。从 2024.6.1 版本起,勾选了 “我是高级用户” 后,可以选择 “自定义” 然后输入其他数值:
另外,从 2024.6.1 版本起,“自动弹幕优选" 功能的阈值预设从 240、160、100 调整为 150、100、70。更新后将保持原来设置的数值,因此原先设置为 “中等 (>160)” 将在更新后显示为 “自定义 (>160)”。
性能提升
- (2024.5.2)预读取视频时长,对短视频避免预加载多余分片或创建多余的 Web Worker
- (2024.5.4)改进播放器重新加载弹幕的方式,避免在视频页面反复开关 pakku 时消耗额外内存
- (2024.6.1)减少关键路径上的
await
以缓解处理弹幕时主线程被播放器阻塞
其他改进
- (2024.5.2)弹幕处理结果页面选择输出为 debug 格式时,将把弹幕保存为全局变量
D
,以便用 console 调试 - (2024.5.2)弹幕处理结果页面选择输出为 XML 格式时,将增加弹幕的云屏蔽权重字段
- (2024.6.1)统计信息面板将显示执行的用户脚本数量
- (2024.6.1)更新了设置页面的示例图片
- (2024.5.3)完善了导入设置时的合法性检查
- (2024.5.4)设置保存失败时增加错误提示
- (2024.5.2)对 Edge 商店提交单独打包的版本,此版本按审核要求去除了设置页面中提及其他浏览器的内容
Bug 修复
- (2024.5.2)播放器无法从B站账号同步弹幕设置(#282)
- (2024.5.3)从旧版本升级时,设置迁移可能工作不正常导致设置损坏(#283)
- (2024.6.1)未被合并的弹幕也会显示为被 pakku 标准化后的文本
- (2024.5.4)按住 ctrl 查询弹幕信息功能对 UP 主弹幕无法工作
- (2024.5.3)与其他设备上的旧版 pakku 同时使用时,浏览器的同步功能可能导致设置损坏
- (2024.5.4)重置所有设置时 “阻止弹幕动态更新" 功能的生效状态没有应用
- (2024.5.2)弹幕处理结果页面无法获取结果时将卡在 “loading...” 状态
- (2024.5.4)用户脚本的最后一行是注释时会报告为存在语法错误
- (2024.6.1)用户脚本的 Web Worker 没有及时关闭导致消耗额外内存
- (2024.5.2)解析 URL 参数的方式不符合规范