字幕转文字稿 把 SRT / WebVTT / LRC / ASS 字幕去掉时间轴和序号,按标点与停顿重新合并成自然段落,输出可直接阅读、也可直接喂给大模型的文稿。全程浏览器本地处理,文件不上传任何服务器。
字幕的换行是按显示时长决定的,不是按句子。一句”今天我们来聊一个很常见但很少被讲清楚的问题”在字幕里往往是三条:
| 处理方式 | 结果 |
|---|---|
| 一条一行 | 几百个残句,读起来断断续续,模型也容易断错句 |
| 全部拼成一段 | 一大坨没有段落的文字,长视频能拼出上万字一段 |
| 按标点 + 停顿断段 | 接近人说话的自然节奏,段落长度适中 |
断段用三个条件,任一命中就另起一段:句末标点(。!?…)、说话停顿(默认 1.5 秒,可调)、长度与时长上限(防止无标点的自动字幕堆成一坨)。
[12:34],模型能引用回原视频的具体时间点,适合做带索引的笔记一小时的中文视频转出来大约 1.5 万字、接近 1.5 万 token,短上下文的模型直接吃不下。分块功能按 token 预算在段落边界切,每块自动带上”第 X/N 部分”的标注,第一块还会带上你选的提示词模板,逐块粘过去即可。默认显示估算 token,点”精确计算”会按需加载 o200k_base 分词器给真实值。
国内站点搬运的字幕多是 GBK,繁体地区常见 Big5,直接用记事本打开就是乱码。本工具读文件时会先做编码探测(BOM → UTF-8 严格校验 → 按内容打分猜),所以这类字幕可以直接拖进来。如果你手上的字幕文件本身就已经是错码状态,先去 文件编码转换 把它救回来再转文稿。
目标不一样。字幕格式转换是在 SRT / VTT / LRC / ASS 之间互转,输出的还是字幕,时间轴一条不少,用来喂播放器。本工具输出的是给人读、给模型读的文稿:时间轴去掉、碎句重新拼成段落、滚动重复清掉。如果你要的是换个字幕格式继续当字幕用,去用字幕格式转换。
因为字幕是按显示时长切的,不是按句子切的。一句完整的话经常被劈成两三条,直接拼接会得到一大坨没有段落的文字;一条一行又会得到几百个残句。本工具按三个条件重新断段:句末标点(。!?…)、说话停顿(默认超过 1.5 秒另起一段)、以及长度和时长上限兜底——这样出来的段落更接近人说话的自然节奏,模型断句也更准。
自动字幕的通病。YouTube 自动字幕、剪映、部分语音识别工具为了做出"逐字浮现"的效果,会把同一句话逐步补全地重复输出:先出"今天我们",再出"今天我们来聊",再出"今天我们来聊编码"。直接转文稿会把这三条全留下,字数膨胀好几倍,还会把模型带偏。本工具会识别这种前缀递增的相邻条目,只保留最完整的那条,并把时间区间合并。
看你要模型输出什么。要摘要、要改写文章,用"纯文稿"最省 token;要模型指出"某个观点在第几分钟",就选"带时间戳"——每段前面会带一个 [12:34] 的段落级时间戳,模型总结时能引用回原视频的具体位置,你拿去定位很方便。时间戳大约会多花 5–8% 的 token。
默认给的是估算值(中日韩字符按 1 字 1 token、其余按 4 字符 1 token 折算),够你判断量级。点"精确计算"会按需加载 OpenAI 的 o200k_base 分词器算真实值——GPT-4o、GPT-4.1、o 系列用的都是它,Claude 和 Gemini 的实际数字会有出入但同一量级。分块只在段落边界切,绝不切断句子,每块头部会自动带上"第 X/N 部分"的标注,第一块还会带上你选的提示词。
SRT、WebVTT、LRC、ASS / SSA 都支持,扔进来自动识别格式,ASS 的 {\xxx} 样式标签和 HTML 标签会一并剥掉。文件编码走的是和"文件编码转换"同一套探测逻辑:BOM 优先、UTF-8 严格校验、剩下的按 GB18030 / Big5 / Shift_JIS 打分猜——所以国内站点搬运的 GBK 字幕也能直接拖进来,不用先转码。也可以不上传文件,直接把字幕内容粘到输入框里。
不能,本工具的输入是字幕文件。语音识别(ASR)需要下载几十上百 MB 的模型到浏览器里跑,和这个站"打开即用"的定位不合。可行的路径是:先用剪映、Whisper、B 站 / YouTube 的自动字幕拿到 .srt,再拖到这里转文稿。