B站弹幕姬插件,哔哩哔哩弹幕姬怎么显示
丹马库
给自己写信,现场弹幕纪。
几个小时就写好了。很久没写Python了,代码质量极差。什么样的项目架构设计,优雅的错误处理等。不存在,随便一个梭子就能运行,不看实现代码。
试映
在右下角。
如果它是半透明的:
依靠
Python 3.7
pipenv
使用
$ pipenv安装
$ pipenv shell
$ python -m danmacu.main
丹马库页面:http://127.0.0.1:7777/index.html
按下命令C停止.
然后用浮窗工具(如果不知道是什么,请参考QA部分第六条,或者直接用浏览器)打开这个程序输出的URL。
操作原理
使用哔哩哔哩安卓客户端的live API。
连接b站弹幕WebSocket服务器后,会启动本地WebSocket服务器和HTTP服务器。
程序会将b站返回的弹幕/礼物信息解析成易于处理的格式,并发送给连接到本地WebSocket服务器的客户端。
当打开终端中的URL时,本地HTTP服务输出的页面上的Javascript会连接到本地WebSocket服务器,并在页面上显示弹幕内容。
用一些全局浮动窗口工具打开这个本地HTTP端口,就可以当弹幕用了。
见下图:
-
- -
哔哩哔哩服务器WebSocket客户端 Danmacu核心
- - -
- v - -
内部 内部
Websocket服务器 HTTP服务器
- - - -
-
- v -
HTML
-
世界
-
-
- Javascript -
-
-
载入浮动窗口
质量保证
1.为什么要这么做?
因为之前在Mac上使用的弹幕库最近无法获取弹幕,所以没办法只能自己写一个。
2.名字是什么意思?
丹马库为马科斯==丹马库
没别的意思。
3.为什么不用blivechat/哔哩哔哩-live-chat/bilichat/或者其他类似的项目呢?
我不用blivechat的主要原因是我只知道chat.bilisc.com的网站,然后看这个网站就好像是OBS的。CSS是另外生成的,然后填入OBS的浏览器源码的参数中。
而我的主要需求是自己放在桌面上。一定有办法用OBS之外的方法改变CSS,所以我以为我满足不了需求。
后来写完了才发现,blivechat是开源的,可以本地运行。对我来说很痛苦。
4.只能Mac用吗
理论上没有。没有操作系统相关的代码,但是Windows上可用的弹幕插孔太多了,应该没人需要用这个。
哦,Linux用户有可能用,但是我没测试过。如果您有任何问题,请提问。
5.为什么没有XXX功能?
因为只是我自己用的。
平时周末只给群里的朋友写代码玩游戏直播,其他人都不看。这个不是主业,看弹幕和礼物就够了。
队长、SC、管家、VIP、彩色弹幕等任何花哨的功能我都用不了。
如果您需要这些功能,建议使用QA中提到的具有完整功能的项目
不过如果真的要自己加,也可以随意叉。如果你想让PR回来找我,我也欢迎。
6.什么是浮动窗口工具?
它可以一直在一个窗口上面,否则当你关注其他窗口的时候就看不到弹幕了。
我用的是氦3,你也可以用别的,只要能支持打开网页。
7.你不发布到PyPI吗?
没必要,真的没必要.
待办事项
CSS页面美化(我真的尽力了,可惜我不是前端。这家强烈欢迎各种公关)
用户头像(未研究哈希方法)
图片(需要加载几百K的JSON,有点大)
礼物合并(因为是自用,没有礼物,所以优先级很低)
自定义监控端口(没有必要为您自己的使用而更改它)
自定义参数样式(现在,如果您想更改它,只需在代码中进行更改)
表示感谢/感激
除了Pipfile中的依赖项,我还要感谢以下几项的帮助:
许可证
WTFPL