网站六周年

今天网站六周年了,时间过得太快了,本来四周年时网站换服务商,起了个稿准备纪念一下,但是只写了一半,一晃又两年了过去了。最近朋友说想了解Git,我才又来了动力,把之前写到90%的稿子补完了发出来。趁着那股劲还没消退,把之前的两个弹幕相关的安卓APP修了修给开源了。这篇六周年纪念随笔,聊聊这些年开源的几个小东西,也谈谈这几年的感受。

几个弹幕项目

我是真的很喜欢弹幕这种交互形式,错位的时空对相同视频的评论,这绝对是最适合流媒体的简评方式之一,这种交互给人带来的惊喜或许和上个时代的漂流瓶是类似的。

这几年关注VTB圈子比较多,从2017年算是时不时关注着这个新兴职业的变化,眼看他起朱楼,眼看他宴宾客,眼看他楼倒是没塌但也摇摇欲坠,VTB也确实给“二次元”这个圈子注入了活力。日V版本时也伴随着大量野生同传、用爱发电的字幕组涌现,虽然也有一些小插曲,但这种互联网精神在现在这个浮躁的社会真的很难得。

2021年B站经历了上市,也不再像当年那个同好网站那样单纯,自身数据也不希望轻易被第三方窥探,因此接口不断迭代,律师函也发了不少,以前的BiliOBUP数据统计网站,这几年像是huolonglivedarkflame这样统计B站同传用户和vtb直播数据的网站都被封了,我了解的运作的还行的就剩一个分布式的vtbs.moe

话匣子一开就扯得有点远,下面是这几年写的和弹幕相关的代码:

GlobalDanmaku

第一款是GlobalDanmaku这个APP是2020年过年在家无聊花了十天左右入门Java和Android做出来的(虽然2017年第一次接触过Android编程,但纯小白而且历史久远2020年也等于完全不会了),感谢开源代码,才能让我缝合了多个项目这么快地开发出来。那段时间还挺兴奋地迭代了很多个版本,玩了一两周后还遇到B站AV号改成BV号还做了兼容。

最近翻出来app已经用不了了,大量API上了wbi签名,弹幕接口也换成带Zlib压缩的了,全新的弹幕WebSocket流解析可以参考这篇文章,甚至最近B站还对用户弹幕获取做了风控,获取到的弹幕用户名都是带“*”的。视频解析就不用说了,之前那种裸露的mp4链接已经没了。

稍微修了修,恢复了功能,先开源出来。app是为了解决在看b站时切到小窗还能看弹幕的需求的,当时急于达成目标,代码风格很乱,现在看来有点头大,没问题的地方就懒得重构了。

danmaqua-android

第二个APP是基于danmaqua-android开源项目进行了一些功能的修复和扩展,2021年下半年时由于作者域名过期,APP内的推荐无法使用了,所以我把项目拉下来,把数据定向到了作者的Github数据仓库内,当时想法和精力有限,也就没继续做一些什么改动了。

之后因为看的主播比较固定,使用频率也不高,弹幕抓取也一直很正常,就这样到了2023年中。在一次在添加新主播时我发现因为接口老旧,APP已经不能完成添加新的主播的功能了,我索性就把项目给修了,也自己从VTuber Database这个项目中转换了一份更为全面的VTB数据。因为Github在国内访问的不稳定性,为了方便修改数据镜像地址,十月的国庆无聊的时候把推荐数据改为自定义,这款APP算是暂时无需做什么修改了。

B站视频同传弹幕提取

之前在看直播时觉得Bilibili Live Danmaku Filter这个项目很好用,在B站直播回放功能公测以后,我也跟进做了B站视频同传弹幕提取的脚本,用于抓取直播回放中的同传字幕。单纯的JS脚本也是比较简单,只不过同样由于B站的限制,现在能直接拿到的XML弹幕已经很少了。

两个脚本

表情包OCR重命名

表情包OCR重命名这个项目很简单的需求,因为平常会在多个软件上发表情包,不方便跨软件管理,我一般就存图片进行管理,但是在数量多了以后找起来就很麻烦,记得表情包上是什么字但是碍于图片量太大人力遍历起来就很慢,想着现在OCR甚至是图像语义分析都那么发达了,调个云函数来重命名图片应该挺方便的吧。想着就花了一个晚上做了一个调用Azure的OCR API来识别表情包文字的Python脚本,表情包有了名字以后检索起来也更方便了。

屠龙远征快速开局脚本

今年年初和朋友接触到桌游模拟器这款游戏,游戏作为一个模拟器做得很不错,足够开放,可以在上面做二次开发,有庞大的社区支撑起了丰富的游戏性。

作为一个基本不碰桌游的人,平常也只是偶尔和固定的几个朋友联机打打小规模的合作游戏的我,完全被上面眼花缭乱的桌游镇住了。以前看过一些跑团视频,觉得桌游跑团就是DND或者COC那种每人车一张卡,纯靠GM的个人魅力来让游戏变得好玩。在桌游模拟器第一次体验到了屠龙远征这样的游戏,才发觉原来这种没有GM的桌游也可以做得这么复杂好玩(当然后面的幽港迷城更是惊呆我)。

桌游好玩,可编程更好玩,我发挥了一点自己的技能,花几天边熟悉Lua,边看游戏的API文档,给这个屠龙远征的MOD加上了脚本,方便了游戏的开局和判定。虽然后来也不常玩,但这种有干了点事的成就感是可持续的,还顺便学了一门新语言。

互联网的变化

数据的遗失

以前觉得互联网是永恒的,什么东西都会在上面留下永久的痕迹,可是现在随着潮起潮落,看着一个一个打不开的浏览器书签,刚开始时我还会尝试通过书签名和URL去尝试找到网站的备份,看看archive.org或是搜索引擎里有没有留下快照和一些赛博残片。开始倒是能找回少部分,但随着失效的东西原来越多,找起来也愈发困难,最终只能在记忆里翻找那个属于它的位置,我仿佛像一个阿尔兹海默症患者一样,看着属于我的宝贵的记忆一点点流失掉,也挺无奈的。

这种感觉最早是从我发现我之前收藏的一篇文章《无聊的新企划!和包子一起学费马大定理》开始的,最初应该是在新浪博客上看到的转载收藏的,后来18年左右的时候有一次朋友聊天说到了费马定理的事情,我立马想起了这篇文章,就去收藏夹里找了出来,可惜因为作者注销了新浪博客,文章被删除,我只能去搜索引擎找,原文是2009发在2CH匿名板上的(2017年就改成5CH了,话说现在国内的A岛这样的伪匿名板都寄了,不得不感慨),有人在博客发了译文,但是译文博客也没了。在网上东翻西找,我抢救下了22张图片,这估计是互联网上所剩不多的中文存档了(在写这篇随笔时我用日文去搜索了一下,发现还有人用fc2博客留了日文版的存档)。

我在Github上创建了一个差点遗失的记忆的项目上传了这些图片,希望可以留存得久一些。

封闭

这些年来深感互联网越来越封闭了,各个公司都在建立自己的封闭生态,2021年有一段时间体会很深刻的就是谷歌技术类中文搜索被严重污染,大量的内容农场侵占了搜索结果,9月的小X知识/百科网,10月的程序员XXX,前者已被人肉关站,后者还在猖狂,而且显然是冲着程序员来的。互联网作为一个开放平台,大家都遵守着一定的规则才正常运行,这波内容农场的行为明显是越界了,直接把中文搜索搞坏,但是面对这种流氓行为谷歌也没有动手,说实话是有点失望的。又两年过去了,内容农场还是不可避免地增加了,甚至阿里云、腾讯云这种巨头也来趟浑水,出现了大量复制别人内容的文章,从这方面来看,互联网已经不是当初的模样了,互联网精神不再,看着真的很失望。

信息孤岛也是这几年老生常谈的话题,推荐算法在造就信息孤岛,很多人丧失了信息筛选的能力,一味地接受系统推荐的内容,进一步强化信息孤岛的形成。诚然推荐算法能用的好的话是一个好东西,但是又有多少人能用得好呢?

曾经开放的互联网再也回不来了,互联网已经过了野蛮生长的年代,这是进步还是退步,这不好评判。过于开放必然会导致问题,但一味地封闭也不是一种好的解决办法。只有在人人都遵守规则的情况下开放才是一种合理的选项,封闭有时候也只是一种自我保护的方式,但是现在很多封闭行为并不仅仅是自保。开放免费这种模式纯粹是用爱发电,终究是小圈子,当资本入局时这些力量还是太弱,在生存空间被挤压时还选择逆势而行的只是一些理想主义者,在燃尽之前也不知道能坚持多久。

后记

其实手上还有好几篇接近完成的稿子,但是我觉得有些还不是发布的时候,一个是确实有点懒,嘿嘿,另一个是我一直觉得时间是能沉淀一些东西的,即使什么都不做,因为人生阅历的增长,再去审视同一篇文章,也会有不同的感悟,虽然会失去一些时效性,但是对于知识来说,时效性并不是那么强。我认为对于一篇介绍知识的文章,应该在学习时写下初稿,在熟练使用时才完成终稿。因为初学者无法掌握知识的全貌,熟练者无法感受初学者的困扰,一篇知识类的文章要贯穿从初识到融会贯通用的经验,经得起初学者和熟练者的眼光同时去审视,那才是全面的。


知识共享许可协议
本作品由yellowko采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据