VideoCaptioner:Codex自动加字幕,大模型改错别字和专有名词
GPL-3.0 · 卡卡字幕助手VideoCaptioner(卡卡字幕助手)是 WEIFENG2333 开源的字幕工具,协议 GPL-3.0。一条命令把视频听写成字幕,再用大模型把同音字、错别字和专有名词改掉,最后烧进画面。仓库里自带一份 skills,Codex 可以直接调用。
它把这件事拆成四步:语音识别出带时间轴的字幕,按语义重新断句,大模型逐句校对,再按样式合成回视频。校对这一步可以带上你自己的提示词,把口播稿里的专有名词写进去,英文名和产品名不容易被听错。
识别引擎可以换。中文和英文可以用必剪或剪映,不用填接口;其他语言或想在本机识别,用 whisper-cpp。校对和断句要一个兼容 OpenAI 格式的大模型接口。做完的字幕可以只导出文件,也可以烧进视频另存,不覆盖原片。
| 项目 | 说明 |
|---|---|
| 输入 | 本地视频或音频(mp4、mkv、mp3、wav 等)。命令行也可以先下载在线视频再处理。 |
| 适用类型 | 口播、教程、访谈。已经有字幕文件的,可以跳过识别,只做校对或翻译。 |
| 输出 | srt、ass、txt、json;也可以把字幕烧进视频另存,或只嵌入软字幕。 |
| 语言 / 兼容 | 必剪、剪映识别支持中文和英文。其他语言用 whisper-api 或本机 whisper-cpp。翻译目标语言用 zh-Hans、en、ja、ko 这类代码。 |
| 规格 / 容量 | 一条命令走完识别、断句、校对、翻译、合成。批量时对一个文件夹里的视频逐条跑同一条命令。 |
| 环境 | 建议配置 |
|---|---|
| 操作系统 | Windows、macOS、Linux 都能装命令行。Windows 也可以下安装包用桌面版。 |
| 运行环境 | 本机有 Python 和 pip。命令行版:pip install videocaptioner |
| 硬件 | 必剪、剪映识别不占显卡。本机 whisper-cpp 吃 CPU 或显卡,模型越大越慢。 |
| 无显卡方案 | 中英文走必剪或剪映。校对走云端大模型接口,电脑本身不用显卡。 |
| 关键依赖 | 合成字幕进视频需要 FFmpeg。校对需要一个兼容 OpenAI 格式的接口地址和 key。 |
本机先有 Python 和 FFmpeg。FFmpeg 只在把字幕烧进视频时用到,只导出字幕文件可以后补。
pip install videocaptioner
videocaptioner doctor
在 GitHub 打开 VideoCaptioner 仓库,进入 skills 目录,把里面的 SKILL.md 复制到 Codex 的 skills 目录,每个 skill 单独一个文件夹。校对要用大模型,第一次把接口写进环境变量,兼容 OpenAI 格式的都能用。
videocaptioner config set llm.api_key 你的key
videocaptioner config set llm.api_base 你的接口地址
videocaptioner config set llm.model 你的模型名
中文口播先识别,再只校对、不翻译。专有名词写进 --prompt,让它按你的稿子改。
videocaptioner transcribe talk.mp4 --asr bijian -o talk.srt
videocaptioner subtitle talk.srt --no-translate --prompt "专有名词按口播稿:Codex、VideoCaptioner" -o talk-fixed.srt
videocaptioner synthesize talk.mp4 -s talk-fixed.srt --subtitle-mode hard --style vertical -o talk-sub.mp4
常用参数说明:
| 参数 | 作用 |
|---|---|
--asr bijian | 用必剪识别,中文和英文,不用填接口。换成 jianying 走剪映,换成 whisper-cpp 在本机识别。 |
--no-translate | 只改错字和断句,不翻译。 |
--prompt | 把专有名词、口播稿里的固定说法写进去,校对时按这个改。 |
--style vertical | 竖屏字幕样式。横屏用默认样式,圆角底用 --render-mode rounded。 |
-o | 输出到新文件。合成不要写成和原片同一个文件名。 |
对文件夹里每条视频重复同一套命令。想一次做完识别、校对和烧录,用 process,并加上 --no-synthesize 可以只出字幕文件。
videocaptioner process talk.mp4 --asr bijian --no-synthesize -o ./subs/
videocaptioner subtitle ./subs/talk.srt --no-translate --no-split -o ./subs/talk-fixed.srt
skills 放好、接口填过之后,直接说:给这个文件夹里的视频都加上中文字幕,专有名词按这份口播稿改,竖屏样式烧进去,原片别覆盖。Codex 会按 SKILL.md 去跑 transcribe、subtitle 和 synthesize。
| 做法 | 适合什么 |
|---|---|
| 只装 faster-whisper | 只想要识别结果。没有断句、改专有名词和烧录。 |
| VideoCaptioner | 识别、改字、翻译、烧录在一条命令里,还能交给 Codex。 |
| 剪映里手改 | 条数少、想看着改。条数一多,专有名词还是容易漏。 |
剪映适合看着改几句。这个工具把识别、按提示词改专有名词、烧录连成命令,适合一批视频交给 Codex 跑。
常见视频和音频都能进识别,例如 mp4、mkv、mp3、wav。已经有 srt 的,用 subtitle 命令接着校对,不用重新听写。
先跑 videocaptioner doctor。退出码 4 是缺 FFmpeg 这类依赖,退出码 5 多半是接口失败。看它打印的修复命令,不要凭感觉重装一遍。
能。中英文用必剪或剪映识别,校对走云端接口,电脑不用显卡。只有本机 whisper-cpp 才吃算力。
中文口播用 bijian。剪映账号侧用 jianying。日语等其他语言,或音频不想送出本机,用 whisper-cpp。必剪和剪映会把音频送到对应服务。
把仓库 skills 目录里的 SKILL.md 放进 Codex 的 skills 目录,接口用 config set 写好。之后用口语说要加字幕、按哪份稿改专有名词、竖屏烧录并且别覆盖原片。
把正确写法放进 --prompt,再跑一遍 subtitle,加上 --no-translate。不要只靠识别引擎硬听。
不会,只要 -o 写成新文件名。软字幕用 --subtitle-mode soft,硬字幕烧进画面用 hard。
协议是 GPL-3.0。自己拿来做字幕没问题。如果你改了这个程序再发布,要按 GPL-3.0 把改过的源码一起公开。