whisper + 剪映:自动字幕工作流
经验驱动。自动字幕工作流 = whisper 做语音识别出字幕文件 + 剪映做对齐/排版/校错。为什么选 whisper.cpp 而不是 openai-whisper、每一步怎么跑、哪些坑必须躲,全在这里。诚实声明:本机用 whisper.cpp 跑过中文转写;完整流水线(含剪映部分)是分步验证的,剪映本身是 GUI,无法脚本化。
为什么要做自动字幕
手动打字幕又慢又累,尤其口播长视频。whisper 是 OpenAI 的开源语音识别,中文效果已经能用了。整套思路:机器出初稿 → 人工校一遍 → 排版,把最累的”听写”交给模型。
为什么用 whisper.cpp 而不是 openai-whisper
- whisper.cpp:C++ 实现,量化 GGUF 模型,CPU/GPU 都能跑,显存占用极低,本机 12G 显存跑大模型也不抢资源。
- openai-whisper:Python + PyTorch,方便但要装 torch,显存和依赖都重。
我选 whisper.cpp 纯粹是为了不和本地 27B 推理抢显存。
工作流步骤
1 | # 1) 用 ffmpeg 从视频抽音频(16k wav 是 whisper 最稳的输入) |
模型选择:large-v3 最准但慢,medium 是速度与准确度的甜点。口播清晰选 medium 就够了。
踩坑实录
- 中文标点与断句:whisper 出的 srt 经常一句太长或没有标点,剪映里要手动断句+加标点,这块机器目前替代不了人工。
- 说话人切换:单人旁白没问题;多人对话 whisper 不分角色,得自己标。
- 时间轴漂移:长视频末尾偶尔漂移,导入剪映后逐段核对关键节点。
- 剪映”自动识别字幕” vs 导 srt:剪映自带识别也基于类似模型,但导 srt 更可控(能在外部先改好再进剪映)。
- 大模型慢:large-v3 一段 10 分钟音频可能要几分钟,批量时排队跑,别占着显存。
小结
whisper.cpp 出 srt + 剪映做排版校对的组合,把”听写”这件最累的活自动化了。显存敏感场景优先 whisper.cpp;要更准就上 large-v3。剩下的断句标点和说话人,目前还得人工——但这已经是把 80% 的机械劳动省掉了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 河岳日星的博客!


