实际上前面的推文DeepSeek的API,我们普通人都能用在哪?已经提到过它了,但这次专门拿出来说一下,包括开发心得和正确的使用方法。
先把网址放这里:
https://danmu.liu-qi.cn/
另外最近DeepSeek的API大崩,开放平台都已经打不开了。所以临时把AI分析的API换成了豆包新发布的Doubao-1.5-pro-32k,效果也不错。
还有AI深度分析这个版块需要上传视频字幕,但应该很多人不知道怎么得到字幕文件没能成功使用,这个方法我们后面会说,包括整个网站正确的使用教程。
然后咱们接着聊。
这个小网站其实是我第一次尝试AI编程的试验品,当时还没用过Cursor,完全在对话窗口中完成的。
因为当时正好在看B站相关的业务,而且我知道,bilibili的弹幕是很好获取的,存在现成的接口,早先还有本地看番接入线上弹幕的播放器,所以就决定,搞个弹幕分析吧。起初甚至没有什么明确的点子,只是跟AI说:我想写一个web程序,用于抓取bilibili的视频弹幕进行分析。

甚至,我也没想明白能分析出个啥,连这都是问的AI。

AI自己调用了获取B站弹幕的API,我给AI提供了讯飞星火的API文档和我自己的密钥。并且让AI教我,通过宝塔面板,把它部署在了我自己的云服务器上。
于是初版做出来是这样的:



大部分的分析是根据获取到了什么信息就地分析的,例如说弹幕颜色,然后,按照AI自己的思路,展示了高能时刻弹幕的抽样,以及10条典型弹幕的情感分析。
这就是第一版,你能看出来有很多不合逻辑的问题,但是它能跑。
而后就可以继续迭代,比如下面是其中的一个中间版本,我继续调整了布局,并觉得采样10条弹幕进行情感分析不合理,增加了三种分析模式:分析全部、分析高峰、分析50%采样。


起码比最开始的版本可靠且规整多了。
所以你看,有时候鸡汤说的也没错。很多时候就是要先做,做出来之后,就能慢慢优化。
N个版本后,迭代到了现在的状态。


⬆️上图分析的目标视频是某知名美食作家UP主使用家里常用的火焰喷射器等工具教大家烹饪家常菜XD
这时候接口已经换成了DeepSeek,当时DeepSeek还没有跟美军交战,API状态跟现在可不一样,简直就是极速版,而且又快又好。(现在被迫暂时换成豆包了。)
完整地介绍一下它的功能:
首先,初始界面,支持直接是BV号,视频链接和带参数的视频链接进行分析。

这一步中其实涉及多次转换。获取XML弹幕需要的实际上是视频的CID,所以需要有从BV号获取CID的转换,而一遍我们复制下来的都是视频链接,所以还需要有通过视频链接获取到视频BV号的能力。
这个过程本来需要具备一定前端程序员的基础能力才能操作,但现在,只要告诉AI,我想要通过视频的链接或BV号获取弹幕即可。如果你使用的AI没有那么智能,给到它需要进行链接转换的提示,然后把链接和BV号的示例样子发送给他,基本上也都可以完成。
输入链接,点击分析弹幕之后。
服务器会自动获取到XML弹幕,并转换为CSV和TXT两种格式,并提供下载。

其中CSV格式保留了包括弹幕颜色在内的更多信息,TXT格式则只保留了时间码和弹幕内容,便于拿去进行一下程序固定流程之外的分析。
需要注意的是,由于弹幕API接口的问题,只能获取到T-1日期的弹幕,并且部分弹幕量过大的视频会存在官方清除弹幕的情况,此时弹幕的数量以及下方的发送日期分布,都会出现不准确的情况。
同时,还会自动获取到视频的基本信息。
下方2×2图表模块,固定有密度分布、词云、发送日期分布、发送时间分布四个图表。

弹幕密度反映视频的弹幕互动高潮位置。
弹幕词云则反映词频情况,鼠标悬停在相应关键词上会显示该词出现的频次。
发布日期间接反映视频热度变化和长尾流量情况,并且根据视频发布时间对横轴的跨度做了动态调整,一个月内的视频会显示日期,而发布时间超过一个月的会按周汇总。通过这个,你可以洞察到一些初时无人问津而中途爆火的视频的时间节点,也可以用来跟踪商业合作UP的长尾流量情况。(当然前提是视频不能太火,否则会触发前面说的导致不准的情况。)
发布时间分布则是统计了发出弹幕的自然时刻(0点-24点),一定程度可以反映该领域或者该类型视频观众的活跃时间。但对于大UP主,会收到视频发布时间的干扰,据我观察,一定体量以上的UP主的视频弹幕发送时间,会集中在视频发布后的几个小时。如果你需要进行客观分析,我建议你下载后手动去除一下视频发布首日的弹幕。
再往后,就是AI弹幕分析模块,这里就涉及到AI接口了。

AI弹幕分析会基于视频的基本信息和弹幕的内容,反推这个视频的内容并进行一些推论和归纳。这个还挺神奇的,要知道AI此时是没有得到视频本身内容的任何信息的,但往往凭借视频基本信息和网友弹幕,就能把视频主题推测个八九不离十,并且精准捕获视频中隐藏的甲方。
甚至上难度使用BV1jcqEY1EeZ这样的视频都难不倒它。

⬆️这就是一个典型的前面说中途爆火的视频。
分析结论如下:
视频内容可能充斥着大量难以理解的乱码、奇怪表述以及罐头笑声。
确实如此。

这个版块我对弹幕分析量的上限进行了3000条的限制,如果弹幕量少于3000条,则会对所有弹幕进行分析,如果数量超过3000条,则会按比例采样开头和高峰弹幕,剩余不足3000条的再平均采样补足3000条。
(如果后面API成本太高可能会降低上限到1000条XD
接下来,深度分析版块,作用是分析视频节奏以及进行字幕和弹幕的交叉分析。
常用B站的朋友应该已经发现了,现在B站上发布的新视频,几乎都带有AI自动生成的字幕了。这也是这个功能的基础。
字幕文件根据我查询到的信息,是没有相关API的,只能通过抓包获取,这就要涉及到反爬,实现起来很困难。但通过浏览器插件其实可以很简单地获取到视频字幕,所以我干脆就做了一个手动上传功能。
想要获取视频字幕,可以到Chrome商店搜索哔哔君这个浏览器插件。

安装这个插件后,在bilibili视频页面弹幕列表的上方会出现一个字幕列表模块(也可以选择以侧边栏的形式显示),它会自动获取视频的字幕,并且可以手动复制或下载视频的字幕。

顺便一提,这个插件也是带有AI总结功能的,你也可以把DeepSeek的API用在这里。

现在我们想要想要对视频的字幕和弹幕进行交叉分析,那最好字幕也要带有时间码,所以选择“列表(带时间)”格式进行下载,就可以得到一个带有时间码的TXT字幕文件。

然后就可以把这个TXT文件上传进行AI深度分析了。

当AI拿到了视频的字幕,其实就很大程度了解到了视频本身的内容。
于是就能输出视频中整个故事线的节奏了:

因为我本身的工作跟营销相关,所以不好意思,二度CUE出了视频的甲方和他们的植入形式。并且对视频的创意亮点进行了分析。
接下来就是字幕和弹幕交叉分析的部分,AI会结合弹幕高峰时刻的弹幕内容和字幕中体现出的故事情节进行比对分析,洞察观众的情绪反应和关注点,并且分析视频的营销策略和传播价值。

不过交叉分析比较吃大模型的能力,现在用的豆包表现其实并不出彩,如果换成Claude应该会好很多。
以上就是这个网站的全部功能和使用方法了。
这个网站是我完全使用ChatBot完成的,所以在我真正用过Cursor以后,只能说悔不当初。
真心建议跟我一样状态的朋友,在开始AI编写代码的时候优先尝试Cursor也好,Windsurf也好,Cline也好这样的工具,会省很多事。
但是,如果说就是要通过ChatBot来做这点事儿,因为用不来IDE也好,因为实在就差会员和API的预算也好,Anyway,如果你就是要像我做这个弹幕分析网站时一样,跟AI一来一回地复制粘贴来完成这个事情,那我也有一些经验可以分享:
1.AI的代码不是每次都对的,一定会涉及到大量的报错和修改。除了复制粘贴报错信息以外,附加上你自己对这个错误的描述,最好带上你对这个错误发生原因的推测,这能帮你节约很多对话次数。以及,如果讲不清楚,发截图很有效(如果你面对的是一个多模态大模型的话)。
2.如果你发现已经聊偏,越改越乱,已经鸡同鸭讲了,不要再尝试通过语言纠正,直接回滚到上一个正确的节点,修改接下来那条对话,重新开始聊。
3.如果你跟我一样,面对AI发过来的修改这个函数那个路由根本不知道应该改哪,提前跟它约定好做出修改指示的方式。

4.代码很长的文件,让AI在里面做好Part1、Part2的注释。当修改内容量很大的时候,直接让它把完整的某一部分(因为发全部的会中间会断开且影响对话次数)代码发给你,整段复制粘贴。
如果你查看Bilibili弹幕分析器这个网页的HTML代码,你就会发现它里面有第一部分、第二部分的注释,其实就是做这个用的。

其实Python代码里也是这样:

5.如果你使用Claude,想要整段复制粘贴长代码的时候,可以让它输出到Artifact里。长段代码在普通对话中会断开,但在Artifact中,第二次回复的时候可以把新输出的代码接续到上一个Artifact里。但修改的时候我还是建议分好Part1、Part2。
6.开始输出代码之前,最好先跟AI聊几轮,让它帮你把架构设计清楚。比如说大模型的API接口,最好是单独放在一个文件中被引用,或者使用环境变量。但如果是上来就直接让AI写,就可能不知道被硬编码到什么地方,甚至被暴露到前端js里。这样的话,比如哪天想把DeepSeek的API换成豆包,改起来就很麻烦。用Cursor还好,用ChatBot尤为费力。
总之,还是建议能用自动化工具最好就别复制粘贴了。
发表回复