☰
不联网也能给视频加字幕:Capptivo + whisper.cpp 本地字幕生成完整教程
2026/10/15 15:20:54 网站建设 项目流程

【免费下载链接】capptivo

Give your demos the spotlight they deserve ( Mac/Windows/Linux ).

项目地址:https://gitcode.com/gh_mirrors/ca/capptivo
点击查看免费下载

想给视频加字幕却不想把屏幕录屏上传到云端?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 Siliconaarch64的.dmg
macOS Intelx64的.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。

三步生成视频字幕

模型就绪后,生成字幕非常简单:

  1. 选择语音语言:默认「自动检测」,也可手动指定英语、法语、德语、中文、日语、韩语、俄语、西班牙语、葡萄牙语、意大利语、阿拉伯语
  2. 点击「生成字幕」:状态会显示「正在转录…」,全程在后台运行,不阻塞编辑器
  3. 等待完成:字幕会以时间轴提示(cue)列表出现在面板中

幕后发生了什么

点击生成后,Capptivo 在 generate() 里串起三步管线:

  1. 提取音频:用 FFmpeg 从录屏screen.mp4抽出 16 kHz 单声道 WAV
  2. 本地转录:调用whisper-cli输出 SRT 字幕,并尝试输出带逐词时间戳的 JSON(-ojf)
  3. 静音检测:用 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 ).

项目地址:https://gitcode.com/gh_mirrors/ca/capptivo
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询