【免费下载链接】capptivo
Give your demos the spotlight they deserve ( Mac/Windows/Linux ).
想给视频加字幕却不想把屏幕录屏上传到云端?Capptivo 是一款免费开源的跨平台录屏工具(Mac / Windows / Linux),内置基于whisper.cpp的本地字幕生成能力:语音识别全程在你的电脑上完成,录屏内容不经过任何服务器。本文是一篇面向新手的完整教程,带你从安装 whisper.cpp、下载语音模型,到生成、美化并导出带字幕的视频,一次讲清。
为什么用 Capptivo 做本地字幕
大多数在线字幕服务都需要把视频或音频上传到服务器,对于产品演示、内部培训这类敏感内容并不合适。Capptivo 的思路是「本地优先」:
- 📦隐私安全:语音识别由 whisper.cpp 在本地执行,录屏不离开你的机器
- 💸免费开源:MIT 协议,无需订阅,不依赖任何云服务账号
- 🌐离线可用:模型一次性下载后,之后完全断网也能转录
- 🎬一体化工作流:录屏、字幕、缩放、导出在一个编辑器里完成,字幕直接烧录进 MP4 / WebM / GIF
字幕能力完全运行在设备端(on-device),这一点在源码注释中也被明确强调,核心管线位于 src-tauri/src/captions/generate.rs。
准备工作:安装 Capptivo 与 whisper.cpp
本地字幕由两部分组成:Capptivo 本体+ 系统里的whisper.cpp可执行程序(whisper-cli)。
第 1 步:安装 Capptivo
到项目的Releases页面下载对应平台的安装包:
| 平台 | 建议安装格式 |
|---|---|
| macOS Apple Silicon | aarch64的.dmg |
| macOS Intel | x64的.dmg |
| Windows | .msi或*-setup.exe |
| Linux | .deb/.AppImage/.rpm |
macOS 版本目前未签名,首次启动需右键 → 打开,或在「系统设置 → 隐私与安全性」中允许运行,并授予屏幕录制权限。
第 2 步:安装 whisper.cpp
Capptivo 会在固定位置自动寻找whisper-cli可执行文件,找到即可用,找不到会提示你安装:
- macOS:
brew install whisper-cpp - Windows:
winget install whisper-cpp,或从 whisper.cpp 的 releases 下载whisper-cli.exe并加入 PATH - Linux:使用发行版软件包或 releases 中的二进制,确保
whisper-cli在 PATH 中
📌 如果程序装在非标准位置,可以设置环境变量WHISPER_CPP_PATH指向whisper-cli,它会优先于其他查找方式生效。
自动查找逻辑与错误提示见 resolve_whisper_executable(),它会依次检查WHISPER_CPP_PATH、各平台常见安装目录(如/opt/homebrew/bin、/usr/bin、~/.local/bin等),最后再遍历 PATH。
💡 想从源码运行?克隆仓库后即可开发:git clone https://gitcode.com/gh_mirrors/ca/capptivo
一键下载 Whisper 语音模型(一次性)
打开编辑器,进入右侧的Captions(字幕)面板,你会看到「语音模型」区域。点击下载模型按钮即可:
- 默认下载的是
ggml-small.bin(small 模型,约 460 MB),一次性下载 - 文件带进度条,并做SHA-256 完整性校验,损坏或不完整的文件绝不会被当成可用模型
- 下载完成后按钮变为「模型已就绪」,也可随时「移除模型」释放空间
模型会保存在应用数据目录下的whisper文件夹中,下载与校验逻辑见 src-tauri/src/captions/model.rs。
三步生成视频字幕
模型就绪后,生成字幕非常简单:
- 选择语音语言:默认「自动检测」,也可手动指定英语、法语、德语、中文、日语、韩语、俄语、西班牙语、葡萄牙语、意大利语、阿拉伯语
- 点击「生成字幕」:状态会显示「正在转录…」,全程在后台运行,不阻塞编辑器
- 等待完成:字幕会以时间轴提示(cue)列表出现在面板中
幕后发生了什么
点击生成后,Capptivo 在 generate() 里串起三步管线:
- 提取音频:用 FFmpeg 从录屏
screen.mp4抽出 16 kHz 单声道 WAV - 本地转录:调用
whisper-cli输出 SRT 字幕,并尝试输出带逐词时间戳的 JSON(-ojf) - 静音检测:用 FFmpeg 的
silencedetect找出静音区间,用于智能断句分段
整个过程不上传任何数据,临时文件用完即删。
调整字幕样式与逐词高亮
生成后,面板会展开丰富的样式控制(见 CaptionStyleControls.tsx):
- 🔘显示字幕开关:随时开关视频上的字幕
- ✨跟随发声词(Follow spoken word):根据 Whisper 的逐词时间戳,高亮当前正在说的那个词,效果接近卡拉 OK。该功能依赖 JSON 词级时间戳(
-ojf),若只有 SRT 则会退化为整句显示 - 🎨颜色与圆角:句子背景色、高亮色、文字颜色、高亮文字色、句子/单词圆角
- 🔠字体与字号:可选字体、字号(12–120 px)
- 📏底部偏移:调整字幕距离画面底部的距离
- ⏱️词同步偏移:若高亮感觉偏早/偏晚,可用毫秒级滑块微调
此外,你还能通过 CaptionEditSheet 直接编辑字幕文本、修正识别错误,并点击跳转到对应时间点核对。
导出带字幕的视频
预览中看到的字幕效果,在导出时会被逐帧烧录进画面:字幕由 canvas 合成器绘制(渲染逻辑见 src/captions/drawCaptions.ts),随 MP4 / WebM / GIF 一起输出,无需二次压制。
导出时支持分辨率预设、质量、帧率(24 / 30 / 60)等设置,字幕与缩放、人脸摄像头、背景等元素一并合成到最终视频。
常见问题 FAQ
Q1:提示「No whisper.cpp binary found」怎么办?说明没找到whisper-cli。按上文的平台命令安装 whisper.cpp,或用WHISPER_CPP_PATH手动指向可执行文件。
Q2:提示「Whisper model not downloaded」?说明语音模型还没下载,去 Captions 面板点击「下载模型」,等待校验通过即可。
Q3:提示「此录制中未检测到语音」?字幕需要视频里有音轨。请确保录制时开启了麦克风或系统音频捕获。
Q4:识别语言不准?把语言从「自动检测」改为手动指定对应语言,能显著提升准确率。
Q5:为什么「跟随发声词」是灰色的?该功能需要 whisper-cli 输出词级 JSON(-ojf)。较新的 whisper.cpp 均支持;若你的版本不支持,程序会自动退回 SRT 模式,仍显示完整句子。
小结
用Capptivo + whisper.cpp做本地字幕生成,核心只有四步:安装 whisper.cpp → 下载 small 模型 → 选择语言并生成 → 调样式并导出。全程离线、隐私安全、免费开源,特别适合需要频繁制作产品演示与教程视频的团队和个人。
主要源码入口:
- 转录管线:src-tauri/src/captions/generate.rs
- 模型下载与校验:src-tauri/src/captions/model.rs
- 字幕面板:src/windows/editor/components/CaptionsPanel.tsx
- 字幕渲染:src/captions/drawCaptions.ts
【免费下载链接】capptivo
Give your demos the spotlight they deserve ( Mac/Windows/Linux ).
相关推荐
如何用 Autosub 快速生成视频字幕?免费字幕工具完整教程
如何用 Autosub 快速生成视频字幕?免费字幕工具完整教程 在数字内容爆炸的时代,视频已成为信息传播的核心载体。然而,语言障碍和听力限制常常让优质内容的传播
语音音频处理babel-plugin-react-transform实战:构建自定义组件转换器
babel plugin react transform实战:构建自定义组件转换器 babel plugin react transform是一款强大的Babe
如何快速实现视频转SRT字幕?STT工具完整实战指南
如何快速实现视频转SRT字幕?STT工具完整实战指南 STT(语音识别转文字工具)是一款强大的离线音视频转字幕工具,能够将视频/音频中的人类声音精准识别并转换为
人工智能语音音频本地部署后端模型推理服务
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考