xmcp / pakku.js

拯救B站的弹幕体验!
http://s.xmcp.ltd/pakkujs/?src=g
GNU General Public License v3.0
2.06k stars 75 forks source link

希望能够方便地下载弹幕 #274

Closed MC-dusk closed 5 months ago

MC-dusk commented 5 months ago

如#266 所述,以前是可以点击那行字下载的,但现在ui改了,点进去是一个处理界面,不能直接下载,得手动框选,比较麻烦。 翻了一下,很久之前就有人提过了,转ass且不说,保存xml弹幕还是很有用的,比如可以放到弹弹play里面用。

希望能在扩展界面增加保存下载处理前和处理后的弹幕的按钮,比如下图框的位置

image

如果扩展增加一个输入视频链接的功能(可能是多p视频,或者番剧ss号或合集链接),可以解析下载处理前和处理后的弹幕(可能不只一个)就更好了,目前想要得到弹幕必须进视频页面,但如果只要弹幕不看视频就没必要了。


另外还有一个很实用的需求,就是希望支持批量处理本地弹幕,现在只能用快捷键打开本地处理界面(没找到怎么不用快捷键进去),一个个处理弹幕再保存,能一次处理一堆就好了。

xmcp commented 5 months ago

希望能在扩展界面增加保存下载处理前和处理后的弹幕的按钮

确实可以考虑在处理结果页面放一个下载按钮。

如果扩展增加一个输入视频链接的功能就更好了

B站获取弹幕需要CID、PID(即AV号)和额外两个用于加密的参数,目前pakku并没有从视频链接解析参数的功能,而是劫持播放器的网络请求,因此需要在视频页面才能处理弹幕。

希望支持批量处理本地弹幕

更新之后去除了处理本地弹幕的功能,因为B站目前采用的protobuf格式难以下载到本地查看。你在本地的待处理弹幕是什么格式、怎么下载到的?

MC-dusk commented 5 months ago

B站获取弹幕需要CID、PID(即AV号)和额外两个用于加密的参数

老版接口,比如https://comment.bilibili.com/772736431.xml ,仍然是随便什么弹幕只要填了cid就能下吧应该,只是没想到现在新版json弹幕都要鉴权了。 虽然说新版弹幕池容量更高,但老版的3000条很多时候也足够了。 至于用bv号或av号请求b站的api来解析cid似乎也是可行的,我感觉?如果不行的话,用cid来解析也很好了。毕竟我现在如果要处理弹幕,也是手敲cid拼写链接,下载弹幕,然后把xml拖回pakku扩展页面去处理,这么一个流程。(或者用各种工具脚本下载弹幕,方法很多,但处理弹幕这一步一定还是用pakku扩展)如果能直接在扩展里面输入视频链接,或者cid,下载处理后的弹幕,相当于自动化了。 如果支持合集链接,一次性下载整个合集的弹幕就更好了。现在有第三方工具有这种功能,但如果我需要pakku的弹幕处理能力,还是需要回来一个个处理。所以目前来看,如果能支持本地批处理也是极好的。 另外有些时候视频已经下架或锁区,但能得知cid,比如通过biliplus,这个时候如果能不打开视频页面,直接通过链接下载弹幕就很有用了。 不过我承认这个确实不是什么要紧事,毕竟点进视频页面也不麻烦,何况还有很多批量下载视频、弹幕的工具,比如bbdown,lux,yt-dlp等。

更新之后去除了处理本地弹幕的功能,因为B站目前采用的protobuf格式难以下载到本地查看。你在本地的待处理弹幕是什么格式、怎么下载到的?

原来如此,我是说为什么chrome的快捷键失效了,原来是版本更新了,功能虽然被去除了,但扩展快捷键设置那里功能的快捷键还在,而edge的pakku扩展还是老版本,所以还能用。

我是用Bilibili-Evolved下载的弹幕,有xml,json,ass三种可选,xml的版本也是16000条,应该是从新版弹幕格式转换过来的。很多其他第三方脚本插件工具可能也有类似的功能。 比如弹弹play可以批量匹配保存一整季的xml弹幕,格式和b站标准格式相同,这个时候同pakku批量处理了再导入回去用就很好,目前我是一个个手动处理,看一集处理一个。

MC-dusk commented 5 months ago

其实折腾这么多,目的就是用b站的弹幕,或者说符合b站弹幕格式的xml文件(里面的内容可能来自巴哈、5dm、ac站或者弹弹play等),借助pakku扩展来后处理,比如精简合并,然后再配合自己的视频源来看,播放器可能是kikoplay、弹弹play或者bili local等。

其中最急需的是批量处理xml弹幕文件,目前我都是一个个处理(新版更新甚至把这个功能去除了,要了老命了),其他环节都能或多或少用其他方式解决。

xmcp commented 5 months ago

那下个版本我做一下批量处理本地文件和Bilibili-Evolved的适配。

edge版本还没更新,因为它审核巨慢(一般需要一到两周),所以一般都是先在chrome和firefox上测试稳定了再去送审。

xmcp commented 5 months ago

v2024.4.3 已在处理结果界面增加了下载按钮,且加回了批量处理本地文件功能

同时此版本也适配了 Bilibili-Evolved,等他们也更新之后,用 Bilibili-Evolved 将直接下载 pakku 处理后的弹幕

MC-dusk commented 5 months ago

chrome扩展,v2024.4.3,xml文件拖不上去,控制台显示:

parse_local.js:1 Uncaught SyntaxError: Identifier 'e' has already been declared (at parse_local.js:1:1)
image
xmcp commented 5 months ago

2024.4.4应该解决了这个问题

其实发布2024.4.3的时候就解决了,但我提交到chrome web store之前忘了重新打包导致没提交上

yehuailin commented 5 months ago

chrome扩展,v2024.4.3,xml文件拖不上去,控制台显示:

parse_local.js:1 Uncaught SyntaxError: Identifier 'e' has already been declared (at parse_local.js:1:1)
image

不好意思,我想请问一下这个处理本地弹幕的选项或者页面在哪里,没有找到。

MC-dusk commented 5 months ago

不好意思,我想请问一下这个处理本地弹幕的选项或者页面在哪里,没有找到。

据我所知只能用快捷键打开,快捷键在浏览器扩展快捷键管理里面设置

xmcp commented 5 months ago

从2024.4.4版本后也可以右键点击扩展图标打开 image