一段内部培训录像要发给团队,字幕却还没做。视频里有客户姓名、报价和未公布的产品代号,直接上传在线字幕网站并不合适;逐句手打又赶不上交付。这时可以把音轨留在自己的电脑,用开源 Whisper 生成 SRT,再集中回听容易出错的片段。本文用一段虚构的“周三交付、预算十五万元”会议录像示范,适合需要处理内部访谈、课程录屏或客户素材,且愿意使用终端的运营和剪辑人员。
“本地运行”不等于完全离线:首次安装软件、下载模型要联网,电脑上的同步盘也可能上传文件。录音是否有处理和公开授权,仍要事先确认;未经同意的私人谈话不应因为能自动转写就变成公开文本。
先选工具,再决定要不要装最大的模型
Whisper 官方开源仓库提供命令行工具,可输出 SRT、VTT 和文本;代码与模型权重采用 MIT 许可证。搭建成本是 Python、FFmpeg 和首次模型下载,CPU 处理长音频可能较慢。只做一条公开短视频时,站内的 CapCut 自动字幕更省设置;处理不能上传的录音、需要批量产出或保留可追溯文本时,本地方案更合适。Adobe Podcast 侧重在线音质处理,上传前同样要确认素材权限。
先取一段一分钟样本,用多语言 small 模型跑通,再考虑 medium。官方模型表显示尺寸、显存需求和速度有取舍,实际效果又受口音、背景噪声与录音设备影响。中文音频不要选只为英语优化的 small.en。本文推荐的 small 只是起点,不是准确率保证。
安装:先检查环境,别急着上传正式素材
在独立文件夹准备测试视频。运行 python --version(有些系统用 python3)以及 ffmpeg -version。Whisper 官方 README 提供 pip install -U openai-whisper,并要求系统安装 FFmpeg:Windows 可用 Scoop 或 Chocolatey,macOS 可用 Homebrew,Linux 用发行版包管理器。装完 FFmpeg 后重开终端再测一次版本,确保 PATH 生效。
python -m venv .venv
# Windows PowerShell:无需激活虚拟环境
.\.venv\Scripts\python.exe -m pip install -U openai-whisper
.\.venv\Scripts\whisper.exe --help
macOS/Linux 把后两行路径换成 .venv/bin/python 和 .venv/bin/whisper。Windows 找不到 python 时,先检查安装及 PATH,也可尝试 py -m venv .venv。安装失败要记录 Python 版本和第一条有效报错,不要下载搜索结果里的未知“一键安装包”。
从 MP4 抽取正确声道
视频有多个语言音轨时,先用 ffprobe -i meeting.mp4 看流信息。下例的 0:a:0 是第一条音轨,不保证就是中文;如需其他音轨,改索引。命令会生成单声道 16 kHz WAV,文件可能比压缩音频大,先确认磁盘空间。
ffmpeg -i meeting.mp4 -map 0:a:0 -vn -ac 1 -ar 16000 -c:a pcm_s16le meeting.wav
分别播放 WAV 的开头、中间和结尾:有没有人声?是否只剩背景音乐?声音和画面是否错位?选错声道是源文件问题,不是调大识别模型就能解决。保留原视频,不要覆盖。
只要中文字幕 SRT,用这条命令
# Windows PowerShell
.\.venv\Scripts\whisper.exe meeting.wav --model small --language zh --task transcribe --output_format srt --output_dir subtitles --fp16 False
# macOS/Linux:将程序路径改为 .venv/bin/whisper
--language zh 指定主要语种,避免短片头或英文品牌名影响自动判断;transcribe 保留原语种,不是翻译;--output_format srt 只导出字幕文件;--output_dir 设输出目录。CPU 遇到 FP16 警告时,--fp16 False 明确使用 FP32。首次运行下载模型,之后同一模型通常能复用缓存。完成后打开 subtitles/meeting.srt,确认内容不是空白,再导入剪辑软件。
不要把 transcribe 改为 translate 却仍把结果当“中文字幕”:翻译会改变输出语言,还要另查人名与术语。Whisper 官方特别提醒 turbo 不适合做语音翻译;本文只讨论原语种字幕。
先听事实,再修断句和样式
得到 SRT 后,优先回听金额、百分比、日期、人名、产品名和否定词。比如原话是“周三可以交付,但预算不能超过十五万”,识别却写成“周四可以交付,预算能超过十五万”。只错两个字,承诺就反过来了。听不清时标“待确认”,不要用上下文猜数字。
随后检查时间码:开头、说话人切换处、噪声最重处、结尾各抽一段。字幕有没有抢先出现?一句话是否挤满屏幕?用文本编辑器修改 SRT 时保留序号、空行和 00:00:01,000 --> 00:00:03,000 格式。剪掉视频中段后旧字幕可能整体错位,要在时间线上重新对齐。文本对了不代表时间也对。
给 AI 一份“回听清单”,不要让它替你听
如果素材授权允许,把字幕文本交给可信工具做检查清单;敏感文本若不能上传外部服务,就在本地完成。可用的提示词是:
下面是已授权录音生成的 SRT。只找需要人工回听的片段,按“金额/日期/百分比”“人名或产品名”“否定词可能反转意思”“句子不完整”分组。列出时间码和原句;不要改写,不要猜听不清的词,不要声称你听过录音。证据不足写“需回听确认”。
例如字幕写“客户同意了”,AI 可以提醒核对“同意/不同意”,却无法判断原声是哪一个。保留修改前和校对后的两份 SRT,之后被问到为何改词才有依据。
五个卡点与交付检查
- 找不到 FFmpeg:重开终端运行
ffmpeg -version,检查 PATH;反复重装 Whisper 无济于事。 - 中文识别成英文:确认模型不是
.en版本,并加--language zh;乱码则先以 UTF-8 打开 SRT,别直接覆盖原件。 - 安静片头出现“说话”:对原音删除虚构字幕,别把模型幻觉当采访原话。
- 运行慢或内存不足:换小模型,先截一分钟试跑;有 GPU 不是必需条件,也别承诺每台电脑能实时转写。
- 字对而画面不同步:回查音轨、视频剪切和导入后的时间线,不要只看文本。
交付前确认处理权限,保存原视频与抽取的 WAV,记录模型和命令,回听高风险词,抽查时间码,把最终 SRT 重新导入软件试播;仍无法确认的句子交给素材负责人。相比追求“一键零错误”,这份可回头检查的交付包更可靠。
参数与安装方式核对自 Whisper 官方仓库、命令行源码及 FFmpeg 文档;软件版本会变化,安装时以官方说明为准。