视频字幕优化嵌入工具
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_326e3d8e/cjp260713。
技能介绍
自动字幕为什么不能直接用
拿 Whisper 给视频生成字幕,结果往往没法直接用:满屏繁体字,专有名词被听错(比如 WalkBody 变成 walkbody),断句位置奇怪,单行字符数超限。手动在文本编辑器里一条条改 SRT,对几十分钟的视频来说几乎不现实。这个技能解决的就是从原始视频到成品 MP4 的完整链路。
核心工作流
整个流程分三步:
- 识别:
video_to_subtitle.py提取音频、调用 Whisper 识别并生成 SRT。模型可选tiny/base/small/medium/large,默认medium;中文音频传--language zh,英文用en。--max-line-length控制每行最大字符数(默认 40)。 - 优化:
fix_subtitle.py用zhconv做繁转简,执行自定义纠错映射(如「灯路 → 登录」「非书 → 飞书」,独立单词pt → prompt走正则匹配避免误替换),同时处理标点、断句和时长。纠错表在脚本的REPLACEMENTS列表里,直接改即可扩展。 - 嵌入:用 ffmpeg 把字幕烧进视频输出 MP4。这一步的坑在于:Windows 下
subtitles过滤器解析含空格或冒号的路径会报错,需要先把文件复制到无空格的临时目录,并用original_size=宽x高指定视频原始分辨率。中文渲染靠 libass + DirectWrite 自动选择微软雅黑。
适用边界与注意点
- CPU 上跑 Whisper 会提示
FP16 not supported on CPU,自动退化到 FP32,结果不受影响,只是慢一些。 - 纠错规则是通用加可定制的组合,映射表之外的错字仍需手动补充。
- 想手工微调某条字幕,直接编辑
*_optimized.srt,再重新执行嵌入步骤即可。 --optimize-only可以跳过识别,只对已有 SRT 做优化;--no-optimize则相反,只输出原始识别结果。
使用场景
- 知识付费讲师录课后,需把普通话语音转成简体中文字幕,繁体字自动纠正。
- 短视频运营用Whisper生成初版SRT后,按品牌词定制纠错映射表再嵌入MP4。
- 课程制作人已有SRT,只跑繁转简与断句优化,不重新识别节省时间。
- 本地播客录制者在Windows上用ffmpeg烧录字幕,处理路径空格与分辨率参数。
适合人员
- 需把录播课程语音转简体中文字幕并嵌入MP4的课程视频制作人
- 想为品牌词定制Whisper字幕纠错规则的内容运营
- 已有SRT只想快速做繁转简与断句优化的课程编辑
- 需要在Windows命令行完成字幕烧录的技术工程师