Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

寻找b站protobuf弹幕转换成xml的办法 #44

Open
lmst2 opened this issue Mar 5, 2023 · 10 comments
Open

寻找b站protobuf弹幕转换成xml的办法 #44

lmst2 opened this issue Mar 5, 2023 · 10 comments
Labels
enhancement New feature or request

Comments

@lmst2
Copy link

lmst2 commented Mar 5, 2023

b站xml弹幕接口不返回高级弹幕了,一些代码弹幕获取不到,但是protobuf接口里的弹幕还是全的,需要找一种方法解析protobuf弹幕并且转换成xml弹幕

@hihkm
Copy link
Owner

hihkm commented Mar 6, 2023

你好,目前无法将protobuf弹幕转换成xml,如果xml接口不再能返回完整的弹幕信息,会考虑做protobuf的解析~

@hihkm hihkm added the enhancement New feature or request label Mar 6, 2023
@lmst2
Copy link
Author

lmst2 commented Mar 6, 2023

你好,目前无法将protobuf弹幕转换成xml,如果xml接口不再能返回完整的弹幕信息,会考虑做protobuf的解析~

可以用这个视频测试,https://www.bilibili.com/video/av2676643/
b站网页端弹幕前几个都是代码弹幕,但是我试了几个xml接口始终无法获取代码弹幕,打开f12看到这些代码弹幕都是从一个特殊protobuf包里面获取的,和普通的弹幕protobuf包是分开的,虽然我之后用代码写了个转换程序,但是不知道代码弹幕在xml文件里面是怎么存储的,做出来的xml文件bililocal播放不了。也没有以前的包含代码弹幕的xml文件做个对比,不知道到底对不对,很难受,作者你可以研究一下

@hihkm
Copy link
Owner

hihkm commented Mar 7, 2023

代码弹幕不是高级弹幕,bililocal可以解析代码弹幕吗

@lmst2
Copy link
Author

lmst2 commented Mar 7, 2023

代码弹幕不是高级弹幕,bililocal可以解析代码弹幕吗

是可以的,我16年的时候试过把这个视频的弹幕xml下载下来(现在这个视频的代码弹幕池已经空了,很可惜)是可以在bililocal上运行的,但是之前那个链接里的视频我没试过,所以不知道是我自己合成的xml有问题还是bililocal不支持这个代码,又或者是代码弹幕有缺失,现在已经无法判断。

@hihkm
Copy link
Owner

hihkm commented Mar 8, 2023

我本地保留的弹幕样本没有包含代码弹幕的,也没有能在网上找到相关的内容。
可以看一下你是怎么拼接的吗~

@lmst2
Copy link
Author

lmst2 commented Mar 8, 2023

我本地保留的弹幕样本没有包含代码弹幕的,也没有能在网上找到相关的内容。 可以看一下你是怎么拼接的吗~

danmuku_download.zip
这个里面是我用来下载弹幕的程序,里面的test.xml是我下载的这个视频的弹幕。
参考的是这个项目

@hihkm
Copy link
Owner

hihkm commented Mar 10, 2023

我从我的nas上找到了不少含有 mode8 弹幕的 xml 文件,看上去是跟你的脚本转换效果是一致的。
但是 bililocal (0.4.2.0) 并不能显示该弹幕,不知道是缺少了对应的插件还是原本就不能支持。
下面是我的部分样本你可以研究一下~ 样本.zip

@lmst2
Copy link
Author

lmst2 commented Mar 10, 2023

目前测试发现确实显示不了,但是他对于代码弹幕确实标黄识别出来了,而且我看了一下插件里面有mode8弹幕渲染器
image
但是实际上弹幕并没有显示,可能是它对于m8弹幕只能有限的支持吧,但是我确实用它玩过弹幕游戏来着,我记得那个是一个类似是男人就坚持一百秒的游戏这个,当时在浏览器里面玩特别卡,所以我就下载下来用bililocal试了试,发现竟然可以运行,而且十分流畅,可惜这些都是在我的旧电脑上面弄的,现在弹幕源文件找不到了。不过这么一回想我想起来好像以前试过其他弹幕游戏就这一个能运行的来着。可惜了,本来想缅怀一下的,但现在却要么弹幕消失了,要么虽然保存了弹幕但是没有运行的地方。话说我入站的时间比较晚(16年),都不知道当年b站的番剧里面还有代码弹幕的。这都是以前的老物了害,没看到太可惜了。18年的时候好像就不给上传这种字幕组番剧了,我当时辛辛苦苦压制了一周的番剧结果给我打回了。

更新:有的代码弹幕可以显示,比如这个:
image
还有这个:
image
中间的几个字幕代码没有显示,应该是只支持了一部分
下面是日常最后面的动态歌词是可以完整显示出来的,效果非常不错,害,没体验到当时的感觉啊,旧版后面带mad的日常已经没了
image
image

@hihkm
Copy link
Owner

hihkm commented Mar 10, 2023

油猴上有大佬做了一个能替换成旧播放器的插件,支持上应该会比较好~
https://github.com/MotooriKashin/Bilibili-Old
应该是有办法移植做成本地播放器的,不知道有没有人做这件事情~
可太喜欢以前的弹幕氛围了,现在的互联网太抽象,十条评论九条典绷急。已经很少能看到“一群人聚在一起表达对自己喜欢的事物的喜爱”这样纯粹的弹幕了。
BAS很好,然而并没有得到广泛推广,旧的代码弹幕就这样直接丢掉,实在可惜!

@lmst2
Copy link
Author

lmst2 commented Mar 11, 2023

油猴上有大佬做了一个能替换成旧播放器的插件,支持上应该会比较好~ https://github.com/MotooriKashin/Bilibili-Old 应该是有办法移植做成本地播放器的,不知道有没有人做这件事情~ 可太喜欢以前的弹幕氛围了,现在的互联网太抽象,十条评论九条典绷急。已经很少能看到“一群人聚在一起表达对自己喜欢的事物的喜爱”这样纯粹的弹幕了。 BAS很好,然而并没有得到广泛推广,旧的代码弹幕就这样直接丢掉,实在可惜!

我去看看,害,是这样的。以前是小圈子,一堆人在一起看番,感觉很好,自从b站上市之后,开始转向了,能明显感觉到弹幕氛围一年年降低,太可惜了。
旧的代码弹幕没了我记得是因为flash寄了,以前的代码弹幕用的是flash播放器。直到它寄之前b站都可以手动切换成flash的来着,然后就可以玩代码弹幕游戏了,可惜flash直接寄了,然后b站就把flash播放器去掉了。之后就再也玩不了了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants