小刘BOT

开源发布一款基于语音识别和大模型自动生成在线视频字幕的浏览器扩展插件

其实是几个月之前的项目了。

这两天做了一波大更新,调整架构提高了稳定性,改善了消息丢失或重启导致的重复请求 API 计费的情况,正式发布一下。

流声字幕浏览器扩展功能概览

Vibe Coding 开发,项目开源。

其中浏览器媒体嗅探来自猫抓,音频处理使用了 Webffmpeg,字幕处理参考了 WhisperX、Speaches、faster-whisper、stable-ts 等项目的实现,感谢以上项目。

源码仓库在此:

https://github.com/Liu-Bot24/liusheng-subtitles

也可以在 Chrome 应用商店直接安装使用:

https://chromewebstore.google.com/detail/ipcmkanhjahdpnacnjabkmlhggekkegm

这个项目的功能如标题:为没有字幕的流媒体视频自动生成字幕。

需要前置提醒一下,流声字幕支持你在网上冲浪过程中遇到的大多数通常网页视频,但个别存在 DRM 或平台策略保护的视频是不支持的,例如典型的 Netflix 和 YouTube。不过 YouTube 上的视频基本都带有生成好的字幕,所以也没啥 ASR 的必要,先转写再翻译反而不如直接使用沉浸式翻译等插件方便。

本产品采用了浏览器扩展插件的形态,于是你可以直接在视频所在的页面就地启动字幕生成,而不需要另外打开第三方 APP,十分方便;同时,整个字幕生成的方案是一套预处理方案,先抽取音频,再进行识别和翻译,最终把字幕挂回播放器,所以整体的延迟等各方面体验要接近于原生;并且,由于是预处理,这套方案整体上要比直接接入实时翻译的 Live 模型要便宜不少


当你上网冲浪,遇到没有字幕的外语视频时,就可以使用这个扩展。

流声字幕在 TED 视频页面生成双语字幕

大多数情况,扩展能自动选择到时长正确、码率合理的音频,通过 webffmpeg 抽取出来进行 ASR 识别。如果个别情况自动选择错误,也保留了手动选取媒体源的功能。

ASR 识别之后,就会调用你提前配置好的 LLM 翻译成指定的目标语言。字幕浮窗可以选择显示原文、译文或者双语。同时右边的侧边栏可以显示完整的字幕列表。

流声字幕在 X 视频页面显示字幕浮窗和侧边栏

侧边的字幕列表可以双击跳转,字幕完整生成后,也可以手动编辑,支持导出 SRT。

流声字幕侧边栏中的双语字幕列表

如果想只使用浮窗也没问题,侧边栏可以关闭。

关闭侧边栏后仅显示视频字幕浮窗

扩展本身不提供模型接入服务,所以 ASR 模型和 LLM 需要各位自行配置。

ASR 模型支持 Whisper 系列和 FunASR,LLM 支持 OpenAI 和 Anthropic 兼容格式。

流声字幕的翻译模型与字幕样式设置

我自己自用一般是本地 Docker 部署 Speaches ASR,模型选用 Systran/faster-whisper-large-v3。

Docker Desktop 中运行的 Speaches ASR 服务

流声字幕配置本地 Speaches ASR

如果不想在本地部署,也可以用 Groq 的 Whisper,性价比相对不错。

翻译模型一般使用 Deepseek V3 这种便宜些的老模型就足够,甚至参数更低一些问题也不大,硅基流动之类的赠送金额就可以用很久。

如果完全免费的话也可以选择本地部署,毕竟不是实时翻译,多等待一些时间翻译完成后再看,也不会影响观看体验。

VAD 过滤一般保持自动就行,支持 VAD 过滤的会自动启用,降低静音片段的幻觉。如果视频里有低声呢喃的人声没有识别到,可以手动关一下。

流声字幕配置硅基流动翻译模型

另外也支持本地视频生成字幕,只要把本地视频拖入浏览器播放即可。

就是稍微繁琐了一点,需要进入到扩展程序详情,手动开启允许访问文件网址。

Chrome 扩展详情页开启允许访问文件网址

然后手动把视频拖到浏览器打开。

将本地视频文件拖入 Chrome 浏览器

之后按部就班使用即可。

流声字幕为 Chrome 中的本地视频生成字幕

但原则上建议临时使用,因为本地的方案其实更多也更简单,而且还可以使用没有性能限制的完全体的 ffmpeg,直接使用 AI Agent 处理反而更方便。如果真的需要批量进行本地处理的话,界面反而显得有些多余,这也是为什么我没有做桌面版,而选择浏览器扩展这个形态。

以上。

欢迎各位体验,使用,修改,点点Star。

https://github.com/Liu-Bot24/liusheng-subtitles