Frost

Results 7 issues of Frost

各位如果对这个问题有什么看法可以在这里讨论 🤗 通过分析b站前端js,以及[API收集项目](https://github.com/SocialSisterYi/bilibili-API-collect)中提供的文档(感谢🙏),获取b站弹幕的方式主要有两种方式,一个是旧的XML形式,另一种是b站前端现在采用的protobuf形式,本项目使用的是protobuf形式的获取方式。 - 有一些项目可以直接将XML格式的弹幕转换成ASS格式的字幕,为什么下载不用XML形式的弹幕? 考虑到本项目主要目的是**快速下载视频,以及视频的各种附属文件**(弹幕,字幕,封面),经过我测试XML接口如果访问过快容易被限流,并且未来可能被b站废弃,初步判断并不适合在本项目中采用。 - protobuf解析 在目前的下载过程中,会先访问b站弹幕API的view[元数据接口](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/danmaku/danmaku_view_proto.md),然后解析出弹幕的分片总数,从而**并发**获取各个分片弹幕文件。因此,在python依赖中添加了`protobuf`以解析元数据。 对于弹幕本体,在下载完各个分片后会将其合成为一个二进制文件,经过测试,在弹幕非常多的时候解析这个二进制文件比较耗时,不适合在下载的过程中进行解析,并且这个解析说的是json解析,即使解析好了也不能直接放到本地播放器中使用,所以目前仅下载好所有分片文件,合并后不做任何额外操作,在下载目录下的`extra`文件夹中可以看到二进制文件`xxx-弹幕.bin`。 - 未来会提供protobuf解析成ASS的方式吗? 作者暂时不知道是否有项目可以高效的将protobuf解析成ASS,各位如果知道可以在下面告诉我,如果有可以引入进来,这样就能在本地播放器中使用了。但是作者自己并不熟悉这两种格式,可能也不是本项目的重点,我可能在未来不会提供这方面的支持 - 目前能对拿到的bin文件做些什么事情 你可以自己解析成json形式保存,我提供了一个方法 ```python from bilix.dm import parse_seg with open('videos/extra/xxx-弹幕.bin', 'rb') as f: d = parse_seg(f.read()) print(d)...

discussion

我发现在Discussions中会更方便一些🧐 https://github.com/HFrost0/bilix/discussions

discussion

我使用C++重构了这个项目的核心部分,极大加速了大弹幕文件的转换,并使得代码结构更利于维护,👉[项目地址](https://github.com/HFrost0/danmakuC)。成熟后预计为我另一个项目[bilix](https://github.com/HFrost0/bilix)提供支持。 因为重构的调整较大,没有采用fork的方式,但标明了您的贡献,如果您对此有疑问请联系我。

### Discussed in https://github.com/HFrost0/bilix/discussions/141 Originally posted by **BaiBaiAi** May 29, 2023 例如视频里出现这种表情文字🌹 第三方程序可能会出现无法读取或者乱码 程序的 B站视频下载选项中。可以增加一个选项输出到文件时使用视频cid保存吗 (包括弹幕 字幕 封面) 例如 你好XXX🌹.mp4 他的视频cid是123 保持时,直接保存为123.mp4 123.jpg 123.ass

enhancement
next release

May due to site change, the url of Reuters and wsj is now unavailable, and will get 404 error. How can I get the news text data now? Sincerely hoping...