JSON 转 SRT 转换器

上传 JSON 转写文件,自动识别结构,并导出包含时间戳、字幕文本和可选说话人标签的标准 SRT 文件。

适合大多数视频

将 .json 文件拖到这里

你的 JSON 文件会在浏览器本地转换,无需上传。

JSON 已成功转换为字幕!

识别格式:
创建的字幕块:
跳过的无效片段:
在 AI Studio 中编辑
转换后检查 SRT

自动生成的 SRT 文件应简单验证一下;重要视频最好再目视检查时间轴。

验证 SRT 在 Studio 中编辑

什么是 JSON 转 SRT 转换器?

OpenAI Whisper、AWS Transcribe、Google Cloud Speech-to-Text 等语音转文字服务通常会导出 JSON,而不是直接生成可用字幕。这些 JSON 里可能包含时间、单词、句子、候选结果以及说话人信息。这个转换器会读取这些结构,提取开始时间、结束时间和文本,并生成标准的 SubRip/SRT 字幕文件。

如何把 JSON 转换为 SRT?

原始 JSON 不能直接上传到 YouTube,也不适合直接导入 Adobe Premiere、DaVinci Resolve 或 Final Cut Pro。它需要先变成线性的字幕轨道:序号、开始时间、结束时间和可见文本。本工具会自动完成这个步骤。

示例:JSON 输入到 SRT 输出

这不是一个只支持单一格式的小工具,而是展示了真实的 API 数据结构。你可以快速判断自己的 JSON 是否类似,以及为什么它可以转换成有效的 SRT。

Whisper JSON 转 SRT

Whisper 导出的文件通常包含 segments 数组。每个元素一般有 startendtext,非常适合直接映射为 SRT 字幕块。

JSON 输入

{
  "segments": [
    { "start": 0.00, "end": 2.40, "text": "欢迎观看这个视频。" },
    { "start": 2.40, "end": 5.10, "text": "今天我们演示整个工作流程。" }
  ]
}

SRT 输出

1
00:00:00,000 --> 00:00:02,400
欢迎观看这个视频。

2
00:00:02,400 --> 00:00:05,100
今天我们演示整个工作流程。

AWS Transcribe JSON 转 SRT

AWS Transcribe 通常会在 results.items 中返回单词和标点。工具会把这些词级数据组合成更易读的字幕块,并可保留已有的说话人标签。

JSON 输入

{
  "results": {
    "items": [
      { "type": "pronunciation", "start_time": "0.00", "end_time": "0.55", "alternatives": [{ "content": "你好" }], "speaker_label": "spk_0" },
      { "type": "pronunciation", "start_time": "0.56", "end_time": "1.10", "alternatives": [{ "content": "Maik" }], "speaker_label": "spk_0" },
      { "type": "punctuation", "alternatives": [{ "content": "。" }] }
    ]
  }
}

SRT 输出

1
00:00:00,000 --> 00:00:01,100
spk_0: 你好 Maik。

Google Speech-to-Text JSON 转 SRT

Google Speech-to-Text 通常把单词存放在 results[].alternatives[].words[] 中。开始和结束时间常以带 s 后缀的秒数表示,例如 1.200s

JSON 输入

{
  "results": [
    {
      "alternatives": [
        {
          "words": [
            { "startTime": "0s", "endTime": "0.700s", "word": "这样", "speakerTag": 1 },
            { "startTime": "0.700s", "endTime": "1.400s", "word": "可以", "speakerTag": 1 }
          ]
        }
      ]
    }
  ]
}

SRT 输出

1
00:00:00,000 --> 00:00:01,400
Speaker 1: 这样可以

支持字段与自动结构识别

JSON 是数据格式,不是字幕格式。因此不同转写服务可能使用完全不同的字段名。转换器会检查常见的字段变体;即使文件不完全符合 Whisper、AWS 或 Google 的结构,也会尝试搜索嵌套数组。

字段 可识别键名 在 SRT 中的用途
开始时间start, start_time, startTime, from, begin作为 SRT 字幕块的开始时间
结束时间end, end_time, endTime, to, finish作为 SRT 字幕块的结束时间
文本text, transcript, content, sentence, value作为可见字幕文本
说话人speaker, speaker_label, speaker_id, speakerTag可作为文本前缀写入

SRT 文件中的说话人标签

很多转写服务会通过 speakerspeaker_labelspeakerTag 或类似字段提供说话人信息。开启“包含说话人标签”后,转换器会把这些信息直接写入字幕文本。

SRT 本身没有专门的说话人字段。因此实际使用中,通常把说话人作为文本前缀保存。这对采访、播客、会议、课程和客服录音非常实用。

1
00:00:00,000 --> 00:00:02,200
Speaker 1: 欢迎开始这次对话。

2
00:00:02,300 --> 00:00:04,800
Speaker 2: 谢谢邀请。

服务商与常见 JSON 结构

下表展示了工具重点识别的数据结构。此外,转换器也会尝试自动查找包含开始时间、结束时间和文本的通用数组。

服务商 常见 JSON 结构 是否支持 说明
OpenAI Whispersegments[] mit start, end, text是,直接支持基于片段的结构,非常适合直接输出 SRT。
AWS Transcriberesults.items[] plus optional speaker_labels是,直接支持词级数据会被组合成可读的字幕块。
Google Speech-to-Textresults[].alternatives[].words[]是,直接支持带秒级时间的单词列表会被分组并按时间排序。
通用 JSON包含开始、结束和文本的数组或嵌套数组是,只要字段存在只要时间字段和文本字段明确,就可以工作。

我的 JSON 数据安全吗?

安全。转换过程通过 JavaScript 在你的浏览器本地完成,JSON 文件不会上传到服务器。这很重要,因为转写内容常包含内部会议、客户资料、草稿脚本或尚未发布的视频内容。

自动 JSON 识别的限制

只有当 JSON 文件中包含可用的时间信息时,工具才能生成字幕片段。没有开始和结束时间的纯文本 JSON 无法可靠转换为 SRT,因为 SRT 必须有时间戳。如果文件只有文本,建议使用 TXT 转 SRT 工具,或之后在 Studio 中同步。

转换后:验证 SRT 或精细调整时间轴

JSON 转写通常来自自动语音识别。发布前建议检查生成的 SRT:时间是否准确、是否有空块、是否易读。

打开 SRT Validator 在 Studio 中编辑

如何在线将 JSON 转为 SRT

1

上传 JSON 文件

选择来自 Whisper、AWS、Google 或类似语音转文字系统的 JSON 转写文件。

2

自动识别格式

工具会识别已知结构,并查找片段、单词列表、时间字段和可选说话人信息。

3

保存 SRT 文件

下载生成的 SRT 文件,必要时可在 SRT Validator 或 Studio 中继续检查。

常见问题

支持哪些 JSON 转写格式?

支持 OpenAI Whisper、AWS Transcribe、Google Cloud Speech-to-Text 的常见导出格式,以及包含开始时间、结束时间和文本的通用 JSON 数组。

可以调整每个字幕块的长度吗?

可以。你可以选择短、标准或长字幕块。对于 AWS 或 Google 的词级 JSON 数据特别有用。

这个转换器支持说话人标签吗?

支持。如果 JSON 文件中有说话人信息,工具可以把它作为文本前缀写入 SRT 输出。

我的 JSON 文件会保持私密吗?

会。转换完全在你的浏览器中进行,不会上传文件到服务器。

为什么没有时间戳的 JSON 不能转换为 SRT?

SRT 的每个字幕块都需要开始和结束时间。如果 JSON 只有文本,就缺少必要的时间数据。

AWS 的词级数据可以变成完整字幕行吗?

可以。工具会自动把单词和标点组合成可读的字幕块。

JSON 转 SRT 后应该检查什么?

检查时间、句子长度、说话人标签和空字幕块。技术问题可以再用 SRT Validator 检查。