点击或拖拽 draft_content.json 文件到此处
支持从剪映/CapCut 草稿中批量提取
常见问题
如何在电脑上找到 draft_content.json 文件?
Windows 上通常在 `C:\Users\<用户名>\AppData\Local\CapCut\User Data\Projects\com.lveditor.draft\`(剪映国内版把路径中的 CapCut 换成 JianyingPro);Mac 上在 `~/Movies/CapCut/User Data/Projects/com.lveditor.draft/`。每个草稿是一个以草稿 ID 命名的子文件夹,`draft_content.json` 就在里面,文件不小(可能几百 KB 到几 MB),因为它同时保存了轨道、素材、特效和字幕数据。
如果字幕时间轴对不上怎么办?
工具直接读取 `target_timerange` 里以微秒记录的时间戳,不做任何帧率换算或猜测——它反映的就是字幕素材在项目时间线上的绝对位置。如果时间对不上,最常见的原因是原片段被做过变速处理:变速会让 `source_timerange`(素材本身的时长)和 `target_timerange`(它在时间线上占用的时长)不再一致,而本工具只使用后者。如果对不上的是极小的几十毫秒误差,通常来自剪辑时的手动微调,属于正常现象。
这个工具能直接把字幕嵌入视频吗?
不能。它只处理 `draft_content.json` 里的文本和时间码,生成的是 SRT/ASS 字幕文件,不涉及任何视频帧的读取或渲染。要把字幕烧录进画面,需要用 FFmpeg 或剪辑软件把这里导出的字幕文件与原视频合成。
转换后会保留字号、颜色等样式吗?
不会。新版剪映把每条字幕的样式(`styles` 数组,记录颜色、字号、加粗等逐字符区间信息)和纯文本一起塞进同一个 `content` JSON 字符串里,旧版则直接用 `<size=30>`、`<color=...>` 这类内联标签包住文本。本工具两种情况都会先剥离样式只保留纯文本,因为 SRT 本身不支持样式、ASS 也需要手动重建 Style 定义,直接照搬原始标签在其他播放器里大概率无法正确渲染。
为什么上传草稿文件后提示 JSON 无效错误?
最常见的原因是选错了文件——同一个草稿文件夹里还有 `draft_meta_info.json`、`draft_settings` 等其他文件,只有 `draft_content.json` 包含 `materials.texts` 和 `tracks` 结构。其次是文件被截断(比如从压缩包里解压中断),或者用了记事本手动编辑后破坏了 JSON 格式。确认文件能被 `JSON.parse` 正常解析、且扩展名确实是 `.json` 即可。
工作流程
剪映 (CapCut) 草稿字幕提取器 是什么?
剪映和 CapCut 的草稿并不是视频文件,而是一份 `draft_content.json`:`materials.texts` 数组保存每一条字幕素材(新版本中 `content` 字段本身还是一段 JSON 字符串,里面包着真正的 `text` 和逐字符样式 `styles`),`tracks` 数组里 `type` 为 `text`(或数值 `2`)的轨道,其 `segments` 通过 `material_id` 指回具体的文本素材,并附带 `target_timerange`——这是该字幕在时间线上的起止位置,单位是**微秒**(1,000,000 才等于 1 秒),而不是常见的毫秒或帧号。
本工具做的事情就是把这条链路走一遍:读取 `materials.texts` 建立 id→文本的映射,遍历所有文本轨道的 `segments`,把 `target_timerange.start / duration` 从微秒换算成毫秒,再用正则去掉旧版 `<size=30>` 这类内联样式标签(或先尝试 `JSON.parse` 取出新版 `content` 里的纯文本),最终按时间排序生成 SRT 或 ASS。整个解析在浏览器本地完成,项目文件不会被上传。
如何使用 剪映 (CapCut) 草稿字幕提取器
找到项目对应的 `draft_content.json`:CapCut 电脑版通常在 `...\CapCut\User Data\Projects\com.lveditor.draft\<草稿ID>\`(Windows)或 `~/Movies/CapCut/User Data/Projects/com.lveditor.draft/<草稿ID>/`(Mac),剪映国内版路径结构相同,把 `CapCut` 换成 `JianyingPro`。把该文件拖入或点击上传(支持一次选择多个文件做批量处理)。如果字幕是竖屏短视频用的短句,可以打开“换行优化”——工具会在文本超过 14 个字符时按空格分词换行,中文等无空格文本则从中点强制换行,避免竖屏画面里一行字幕溢出。提取结果支持按关键词搜索定位,确认无误后下载 SRT 或 ASS。
示例
draft_content.json 片段(简化):
{
"materials": {
"texts": [
{ "id": "txt-01", "content": "{\"text\":\"欢迎查看本教程。\"}" }
]
},
"tracks": [
{ "type": "text", "segments": [
{ "material_id": "txt-01",
"target_timerange": { "start": 1500000, "duration": 2700000 } }
]}
]
}
解析后(微秒 ÷ 1000 = 毫秒)得到 SRT:
1
00:00:01,500 --> 00:00:04,200
欢迎查看本教程。应用场景
1. 将剪映或 CapCut 项目中的字幕轨道迁移至 Adobe Premiere Pro 或 DaVinci Resolve 等非线性编辑软件。
2. 利用提取出的原始文本进行翻译和本地化工作,实现视频内容的二次利用。
3. 创建独立于特定视频编辑项目格式的字幕数据本地备份,避免草稿文件损坏后文案全部丢失。
4. 批量提取多个草稿中的脚本内容,用于文档归档和内容审核。
常见问题
该工具支持移动版 CapCut 吗?
支持解析格式本身,但移动端的草稿文件存放在 App 的沙盒目录里,普通用户很难直接取出。实际做法通常是在手机上把草稿同步/导出到电脑版剪映或 CapCut 后,再从桌面版的 Drafts 目录里找到 `draft_content.json`。
我可以一次处理多个草稿文件吗?
可以。上传区域支持多选,工具会为每个文件单独维护一份字幕列表和下载按钮,互不影响,适合批量导出一批项目的文案。
我的草稿数据会上传到服务器吗?
不会。JSON 解析、时间码换算、样式清洗全部用浏览器内置的 `JSON.parse` 和正则表达式在本地完成,文件内容不会离开你的设备。