【二哥出品】用 Claude Code 做了个剪映字幕导出 Skill

剪映自动识别的字幕导出后又碎又麻烦。用 Claude Code 写了个 skill,直接读草稿工程文件生成标准 SRT,支持批量导出和短句合并。

二哥4
【二哥出品】用 Claude Code 做了个剪映字幕导出 Skill

剪映(CapCut)自动识别出来的字幕,直接导出经常是“一行两三个字”,看着特别碎。想要一份干净的 .srt 字幕文件用来发平台、配翻译、存档,大部分时候还得手动在剪映里一条条选中导出,或者复制粘贴拼时间轴,挺烦的。

所以我用 Claude Code 写了一个 skill(可以理解成“给 AI 用的技能插件”),让它自动读剪映的工程文件,直接吐出一份标准 .srt 字幕。这篇文章记录一下这个工具怎么用。

github 地址

github地址: https://github.com/niigelog/AgentSkillKit

这个工具是干什么的

剪映的每个草稿项目文件夹里都有一个 draft_content.json,里面完整记录了时间轴上的每一段字幕:文字内容、开始时间、结束时间,全都在里面,只是被裹在一个几 MB 的深层嵌套 JSON 里,人手动翻根本没法看。

这个 skill 做的事情很简单:

  1. 找到你的剪映草稿目录
  2. 读出里面所有字幕轨道的文字和时间码
  3. 转换成标准 .srt 格式,直接可以用

支持批量:如果你指向的是一个包含很多个草稿项目的根目录,它会自动挨个扫描,每个项目生成一份对应的 .srt

准备工作

这个 skill 是跑在 Claude Code 里的,所以你得先有 Claude Code。除此之外只有一个依赖:

  • Python 3(不需要装任何额外的包,只用标准库)
    • Mac 一般自带,不用管
    • Windows 不一定有,如果没有,Claude 会在对话里问你要不要帮你装,不会不声不响地帮你动系统

安装

这个 skill 是打包成一个 .skill 文件分发的。拿到文件后,点一下卡片上的 Save skill 按钮,就装进了你的个人 skill 库——以后在任何项目、任何对话里都能用,不需要每次都重新导入。

怎么用

装好之后完全不需要记命令。直接在对话里说人话就行,比如:

帮我把 /Users/xxx/Movies/CapCut/User Data/Projects/com.lveditor.draft/项目名称 这个剪映草稿导出成 SRT 字幕文件

Claude 看到你在说“剪映 / CapCut / 草稿 / 字幕导出”这类意图,会自动去调用这个 skill,然后:

  1. 检查有没有装 Python(没有会先问你)
  2. 检查有没有配置过输入 / 输出目录——如果你的电脑是第一次用,它会自动尝试探测剪映的默认安装位置(Mac 和 Windows 的默认路径都内置好了,Windows 甚至会遍历所有盘符去找,因为很多人把软件装在了非系统盘)
  3. 探测不到,或者你想指定别的目录,Claude 会直接问你,你说清楚路径就行
  4. 跑转换,把结果和文件位置告诉你

只想设置一次,以后不用每次都问路径?

可以让 Claude 帮你把目录记住:

python3 scripts/capcut_to_srt.py --set-default "<你的剪映草稿目录>"
python3 scripts/capcut_to_srt.py --set-output "<你想要存放 srt 的目录>"

设置一次会存在本地一个小配置文件里(~/.capcut-srt-generator/config.json),以后同一台电脑上直接说“帮我导出字幕”就行,不用再报路径。

字幕太碎,想要更长的行?

剪映自动识别出来的字幕是按“语音识别的停顿”切的,不是按“适合阅读的行长”切的,所以经常一行就两三个字,像这样:

8
00:00:13,700 --> 00:00:14,766
慵懒摸鱼

9
00:00:14,766 --> 00:00:15,200
优雅发财

10
00:00:15,200 --> 00:00:16,066
我是暂时0产品的独立摸鱼人

11
00:00:15,200 --> 00:00:16,066
二哥

只要跟 Claude 说“字幕太碎了,帮我合并一下”或者直接说想要的行长,它会加上 --min-chars 参数,自动把连续的短句拼成更完整的一行,同时保留合理的起止时间。合并时如果遇到明显的停顿(默认超过 500 毫秒),会自动断开,不会把两句不相关的话硬拼在一起:

8
00:00:13,700 --> 00:00:15,200
优雅发财,优雅发财

9
00:00:13,700 --> 00:00:15,200
我是暂时0产品的独立摸鱼者,二哥

一份 500 多条的碎片字幕,合并完可能就剩 200 出头条,读起来顺畅很多。

一些设计上的小细节

写这个工具的时候踩了几个坑,记录一下,可能对你也有用:

  • 字幕文字优先取“你编辑过的版本”:剪映的字幕素材里其实存了两份文字——语音识别的原始结果(recognize_text),和你在剪映里手动改过错别字之后的最终版本(content 里的 text)。这个工具默认用你编辑过的那份,没有编辑过才回退到识别原文,这样导出的字幕才是你真正想要的内容。
  • 跨平台路径不硬编码:剪映在 Mac 和 Windows 上的默认安装位置完全不一样,工具不会写死路径,而是“命令行参数 > 之前保存的配置 > 自动探测默认位置”这样一层层找,找不到才会问你。
  • 不会误伤 .bak 备份文件:剪映草稿目录里经常有 draft_content.json.bak 这种备份文件,工具只读正式文件,不会读串。

小结

这个 skill 解决的是一个很具体的小痛点:剪映字幕导出麻烦、格式碎。核心逻辑不复杂,难点主要在“怎么让不同电脑上的人都能无脑用”——自动探测目录、按需询问权限装依赖、支持合并短行,这些细节做好了,用起来就是一句话的事。

如果你也经常用剪映做字幕类内容,想要这个 skill,可以直接找我要 .skill 安装包。

相关推荐

评论区

评论功能即将上线,敬请期待...