
为什么在本地做
在线字幕服务要么按分钟收费,要么要求把视频传上云端。如果你处理的是内部会议、客户沟通、或者还没公开的素材,上传本身就是风险。Whisper 是开源语音识别模型,在本机跑,视频不出电脑,识别质量对中文也很够用。
下面这套流程我用在每周的录屏复盘上:先把语音转成 .srt,人工快速校一遍,再用 ffmpeg 把字幕烧进视频。整体下来比任何付费工具都省心。
第一步:装 Whisper
推荐用 Python 版(openai-whisper),有 N 卡会走 GPU 快很多。CPU 也能跑,只是慢几倍。
pip install openai-whisper
# 第一次运行会自动下载模型权重,约 1.5GB
whisper meeting.mp4 --model medium --language Chinese --output_format srt模型选 large-v3 最准但最慢;日常用 medium 基本够。--language Chinese 能显著减少中英文混说时的误识。
第二步:拿到 .srt 后先校一遍
自动识别难免错几个词,尤其是人名、专业术语。用任意文本编辑器打开 meeting.srt,按时间轴改就行。SRT 格式很简单:序号、时间轴、文本,三行一组。
1
00:00:01,000 --> 00:00:04,500
这段可以直接在编辑器里改文字第三步:用 ffmpeg 烧录进视频
不想让播放器去加载字幕文件,就直接把字幕“烤”进画面,发给谁都能看。
ffmpeg -i meeting.mp4 -vf "subtitles=meeting.srt:force_style='FontSize=20,PrimaryColour=&H00FFFFFF&'" -c:a copy meeting_sub.mp4FontSize 和 PrimaryColour 控制字号和颜色(&H00FFFFFF& 是白字)。中文若出现方块,先在系统装好中文字体,或加 FontName=微软雅黑。
几个踩过的坑
- 长视频一次性转写很吃内存,超过 1 小时建议先 ffmpeg 切成 10 分钟一段再处理。
- Windows 下 pip 装不上多半是缺 Visual C++ 运行库,先装 build tools。
- GPU 不生效多半是 PyTorch 装成了 CPU 版,重装时加 --index-url 指向 CUDA 版本。
省事做法:装个 WhisperDesktop 这类带界面的封装,拖进去就能出字幕,适合不想碰命令行的同事。