Dark-Sword-22 / danmuG

狗弹幕,弹幕狗 https://dark-sword-22.pages.dev
GNU General Public License v3.0
71 stars 6 forks source link

Some general discussions #2

Open qqyuanxinqq opened 2 years ago

qqyuanxinqq commented 2 years ago

如果只录弹幕的话,理论上可以直接用websocket截,我对B站的直播弹幕就是这么做的,完全用不到浏览器,在命令行上跑几乎没有占用。不过我粗略的搜了一下,CC的websocket协议不像B站和斗鱼那么好找,不知道好不好做…虽然我觉得应该差不太多……

另外好奇你的nlp方面是怎么做的,我一直想根据弹幕消息自动找切片,但是一直没有好的想法…

dfaofeng commented 2 years ago

如果只录弹幕的话,理论上可以直接用websocket截,我对B站的直播弹幕就是这么做的,完全用不到浏览器,在命令行上跑几乎没有占用。不过我粗略的搜了一下,CC的websocket协议不像B站和斗鱼那么好找,不知道好不好做…虽然我觉得应该差不太多……

另外好奇你的nlp方面是怎么做的,我一直想根据弹幕消息自动找切片,但是一直没有好的想法…

py版的协议 https://github.com/wbt5/real-url/blob/master/danmu/danmaku/cc.py vue实现 https://github.com/BrightFanAim3/quinlive js解密 https://github.com/821190452/cclinkjs 看了下 还行吧 不是很复杂

GoodManWEN commented 2 years ago

没有别人做的话我之前是不打算自己解js的,不过之前有好哥哥说了项目,现在仓库里的获取代码已经换成了ws。nlp的部分只是单纯使用统计学算法,我无意使用太重的模型,目前看来效果尚可,能识别出小秦撞死徐潘达还有考零分之类的这种关键弹幕,但是貌似初始化时会进行shuffle导致每次结果并不固定,且有时会被弹幕风暴带跑偏。总体来看全自动切片似乎不太现实,只能起到一定辅助作用,这个项目也是仅限于此的目标,希望能提高切片哥生产力而已。

lingsamuel commented 2 years ago

考虑到乐子点一般会有大量相似的弹幕,或许可以参考 https://github.com/xmcp/pakku.js ,可以合并相似弹幕。

lingsamuel commented 2 years ago

不过小秦本人同意了重投弹幕吗?某种程度上直播的海量弹幕(尤其是节奏弹幕)或许也能破坏观看体验。

GoodManWEN commented 2 years ago

节奏弹幕的定义是什么?我觉得可以先试水一段时间,效果不好可以停。重复弹幕的问题一直有拦截算法,算法上需要考量的是,既要表现出多人同时发出同一弹幕的状态,又要避免被无限制灌满,同时这种多人互动应尽可能避免分布不均,所以不能直接低通滤波,目前的实现总体来看问题不大。体验方面的改进可能的点是时间精度问题,目前的弹幕精度在1s级别,有时会形成弹幕墙,不像原生弹幕那样自然。我的实现考量是考虑到B站显示精度也只有1s级别,再提高无法获得准确反馈。也许有有识之士可以提升这方面。

目前弹幕获取因为转到模拟,所以数据分析方面已经具备作为服务长期提供的潜力,也就是项目的原始目的已经达到。至于弹幕重投目前依赖于无头浏览器且无好哥哥帮忙,确实是随着兴趣能摸一天是一天吧。

lingsamuel commented 2 years ago

我的机器24小时开机,或许可以协助重投。不过发弹幕听起来是一个能调 API 实现的事情,有空了可以看看能不能摸一个,效率问题可以依靠多整几个弹幕小号来解决。

节奏弹幕就是直播的时候偶尔会有人带节奏,如果也搬到录播的话也挺麻烦的。

GoodManWEN commented 2 years ago

目前的方法做法是直播弹幕会人工过一遍筛查,把网址哥和色图哥以及节奏风暴都筛掉,定位成本不高,效果也尚可,你说的带节奏具体是指什么场景,我可以留意一下。

B站的API控制我以前在项目里见过,但是涉及到人工登录后取出storage中的储存项目,我未采取此种实现的考量是考虑到贡献者中可能有普通群众,这种操作方式的门槛还不如直接使用chrome来得直接,当然这是我的个人想法,如果后续发展贡献者全是懂哥的话也许我们可以尝试其他方式。至于我目前一直采用原始而保守的方式投稿弹幕,而未大量使用小号和代理的原因则是希望尽可能降低被识别为恶意机器人的风险,我的个人看法是如果你实现类似项目,也应从缓和策略开始逐步试探。

所以目前还是遵守一人一号一IP+低频无重复弹幕,并且账号数量要进行控制,毕竟投放效率绝对值具体有多高实在是不太有所谓的事情。

Edit: 重读了一遍发现含义似乎有所曲解,我的意思是,当然了,如果你要帮忙重投是十分欢迎的一件事情。

GoodManWEN commented 2 years ago

我试了一下链接里的api,未在cookie中找到csrftoken

Edit: 已经解决

lingsamuel commented 2 years ago

感觉上最常见的节奏弹幕之一就是直球辱天吧。

至于多账号共投的问题,我又想了一下,感觉账号多起来,对于不想看的观众,屏蔽成本也提高了,或许也不是一件好事。

lingsamuel commented 2 years ago

建议把“播了”,“偷播”也加入过滤列表。