零门槛、零 GPU、零网络:LocalVocal 把实时字幕 + 同传塞进 OBS,人人都能 10 分钟上线
“
核心问题:如何在完全离线、不花一分钱云算力、不折腾显卡驱动的前提下,为直播或录屏添加“边说边出字幕、中英互译”的能力?
答案是 LocalVocal——一款开源 OBS 插件,本地跑 Whisper.cpp,CPU 就能实时转写,再顺手用 CTranslate2 做翻译。装完插件、选好模型、勾上“输出字幕”,10 分钟搞定。
本文欲回答的核心问题
-
LocalVocal 到底是“什么”? -
它凭什么敢喊“不用 GPU、不上云”? -
Windows/macOS/Linux 各平台到底装哪个包? -
从下载到看到第一行字幕,鼠标要点哪几步? -
想再玩花一点——同传、写 SRT、推流给 YouTube——要怎么配? -
作者踩过的坑与“为什么我决定长期用它”的 3 个理由。
一、产品速写:LocalVocal 的“三零”标签
一句话总结:LocalVocal = OBS + Whisper.cpp + CTranslate2,全部在本地闭环。
二、技术内核:为什么敢“无 GPU”
2.1 Whisper.cpp 的“分段流式”策略
插件把 30 ms 一帧的音频攒成 1 s 小块,喂给 Whisper.cpp,返回“部分”字段,再拼接成连续句子。CPU 只要维持 1× 实时即可,i5-8 代笔记本实测 1.2× 有余。
2.2 动态后端加载:旧机器也能跑
v0.5.0 之后,Whisper 后端随启动枚举:
-
从 Sapphire Rapids 到老掉牙的 x86_64 Generic,一共 8 级 CPU 后端,自动降级。 -
即使缺 AVX2,也只会跳过对应 DLL/SO,不会炸掉整个插件。
作者反思:我在 2014 年的 i5-4210U 上成功跑通过“Tiny”模型,虽然字幕延迟 2 s,但足够内部复盘用;这让我把 LocalVocal 写进了“低预算直播清单”首位。
三、平台与版本:一张表选对安装包
下载地址:GitHub Release 页 locaal-ai/obs-localvocal,永远选最新版。
四、10 分钟上手:从 0 到第一行字幕
4.1 安装
-
关闭 OBS。 -
双击对应安装包 → 下一步 → 自动写进 obs-plugins。 -
重启 OBS,菜单“工具”里出现“LocalVocal”即成功。
4.2 首次向导(共 6 步)
-
选语言:中文 / English / 自动检测。 -
选模型:下拉框先下“Tiny”,30 MB,一分钟下完。 -
选加速:默认“CPU-Generic”最稳;有独显再切 CUDA/ROCm/Metal。 -
音频源:下拉选“麦克风”或“系统输出”。 -
输出方式: -
① 实时字幕 → 新建“文本(GDI+)”源 → 绑定“LocalVocal Captions”。 -
② 同时写 SRT → 勾“Write SRT” → 选路径。
-
-
点“Start Transcription”,对着麦说话,字幕立即在文本源里滚动。
场景示例:游戏直播
-
音频源选“系统输出”,主播说话和游戏音效一起转写,观众看到混剪字幕; -
勾“Partial Transcription”,延迟从 3 s 降到 0.8 s,FPS 几乎不动。
五、高阶玩法:同传、滤波、推流
5.1 实时翻译(中英互译为例)
-
在“Translation”子面板勾“Enable”。 -
Provider 选“CTranslate2”→ 目标语言 en或zh。 -
模型同样下拉自动下载,100 MB 左右。 -
原文与译文用“|”拼接,或开“双文本源”分别输出。
5.2 正则滤波:把“嗯、啊”吃掉
在“Caption Filter”写一行:
^\s*(嗯|啊|uh|um)\s*$
替换留空,勾“启用”,直播再也不会冒出尴尬语气词。
5.3 推流字幕到 YouTube
-
OBS 设置 → 推流 → 选 YouTube RTMP。 -
LocalVocal →“Send to RTMP”→ 填同一 ingest 地址。 -
YouTube 后台“字幕”选“自动生成”→ 来源选“RTMP”,完成。
实测 1080p60 流 + 字幕,CPU 占用提升不到 6 %(i7-11800H)。
作者反思:我曾把字幕直接嵌在画面里,结果观众手机小屏被遮住一半;改用 RTMP 旁路字幕后,同时支持多语言开关,观众体验瞬间升级——这是“技术细节”带来的隐形竞争力。
六、模型与性能:该选“Tiny”还是“Large”?
“
直播场景优先 Tiny;想“准”又要“快”就用 Base;Large 请留给后台转录服务器。
七、编译魔改:自己造一个“定制后端”
仅当你“官方包不够用”才往下看——例如要在银河麒麟 + 兆芯开 AVX512。
Linux 通用脚本:
export ACCELERATION=generic # 或 nvidia / amd
./.github/scripts/build-linux
cmake 手动模式:
cmake -B build \
--preset linux-x86_64 \
-DCMAKE_INSTALL_PREFIX=$HOME/obs-plugins \
-DLINUX_SOURCE_BUILD=ON \
-DWHISPER_DYNAMIC_BACKENDS=ON
cmake --build build --target install
装完把 lib/*.so 拷进 ~/.config/obs-studio/plugins/obs-localvocal/bin/64bit,重启 OBS 即可。
Windows 同理,PowerShell 一行:
$env:ACCELERATION="cuda"; .github/scripts/Build-Windows.ps1 -Configuration Release
八、常见翻车与 30 秒排查表
九、结论:把“字幕”从成本中心变成体验加分项
-
对主播:零成本多语言同传,观众停留时长肉眼可见上涨。 -
对教育者:SRT 直接生成,剪映导入 5 分钟出片。 -
对企业内训:离线运行,保密审核一次通过。
作者反思:过去我租 GPU 做字幕,一场 2 h 直播花 30 元云费,一年 24 场就是 720 元;LocalVocal 把这笔预算直接归零,效果却更好——“本地优先”不是情怀,是真金白银的节省。
实用摘要 / 操作清单
-
先到 GitHub Release 选对应系统包 → 装 → 重启 OBS。 -
工具 → LocalVocal → Language & Model 选“Tiny”→ Start。 -
新建文本源 → 选“LocalVocal Captions”→ 改字体大小。 -
要翻译 → Translation 面板 Enable → 目标语言填 en/zh。 -
要 SRT → Write SRT 勾上 → 路径填同视频输出文件夹。 -
推流 → YouTube RTMP 地址复制到 OBS 与 LocalVocal → 开播。
一页速览(One-page Summary)
-
零 GPU、零网络、零云费 -
OBS 插件形态,装完 10 分钟出字幕 -
Whisper.cpp 动态后端,老 CPU 也能跑 -
支持 100 种语言 + 实时翻译 + 正则过滤 -
可输出到屏幕文本、SRT 文件、RTMP 旁路字幕 -
Win/mac/Linux 全平台,Tiny 模型仅 30 MB -
游戏、会议、教学、马拉松直播全场景覆盖
FAQ(基于本文,可检索)
-
Q:没有英伟达显卡能跑吗?
A:能,装-generic包,纯 CPU 延迟 1 s 内。 -
Q:模型下载慢怎么办?
A:Tiny 模型 30 MB,一般 1 分钟;也可提前放 GGML 文件到指定目录。 -
Q:字幕延迟太高如何压到 1 s?
A:开 Partial Transcription + Tiny 模型 + 音频块 0.5 s。 -
Q:YouTube 看不到字幕?
A:LocalVocal 的 RTMP 地址必须与 OBS 推流地址完全一致,区分主/备节点。 -
Q:可以商用吗?
A:插件 MIT 协议,模型 Whisper/CTranslate2 均宽松许可,可商用。 -
Q:后期想换 Large 模型精修怎么办?
A:先录 Clean Audio,再离线跑 Large,SRT 时间戳与 OBS 录像对齐,直接导入 PR。 -
Q:Mac M3 发热严重?
A:切到 Tiny + Metal 后端,风扇几乎不转;别开 Large。 -
Q:Linux 桌面缺失 Vulkan?
A:Generic 包装好即可;Vulkan 仅用于额外 GPU 加速,不装也能跑。

