Skip to content

YouTube JSON3 转 SRT 字幕在线转换器

将 YouTube timedtext JSON3 事件转换为带序号和标准 HH:MM:SS,mmm 时间范围的通用 SRT 字幕。

拖放您的 JSON 文件到这里

或点击浏览

支持最大 50 MB 的 .json, .json3, .xml, .html 文件

转换引擎架构

关于 JSON 转 SRT

YouTube timedtext JSON3 以 events 数组存储字幕,每个事件包含 tStartMs、dDurationMs 和 segs 文本片段。本工具解析该结构,拼接文本片段、计算结束时间,并输出视频播放器、智能电视和剪辑软件都能使用的标准编号 SRT 字幕。全部处理均在浏览器本地完成。

代码级语法透视

JSON 到 SRT 语法结构与代码转换示例

直观对比转换前后文件头、时间轴标记与对白文本的代码级语法对应关系

毫秒级同步
input.json
JSON 源格式
{
"events": [
{ "tStartMs": 1000, "dDurationMs": 3000,
"segs": [{ "utf8": "Hello, world!" }] },
{ "tStartMs": 4500, "dDurationMs": 3500,
"segs": [{ "utf8": "This is a subtitle file." }] }
]
}
output.srt
SRT 转换结果
1
00:00:01,000 --> 00:00:04,000
Hello, world!
 
2
00:00:04,500 --> 00:00:08,000
This is a subtitle file.
 
3
00:00:08,500 --> 00:00:12,000
Converted locally!
规范手册

JSON 与 SRT 格式规范深度解析

符合通用标准规范
输入格式

JSON

JSON

JSON3 是 YouTube 内部使用的字幕格式,通过 timedtext API 导出。文件为 JSON 结构,包含 events 数组,每个事件有 tStartMs(起始毫秒)、dDurationMs(持续毫秒)和 segs(文本片段数组)。用户通常通过 youtube-dl、yt-dlp 等工具下载此格式。

输出格式

SRT

SRT

SRT(SubRip)是通用字幕格式,采用纯文本存储,包含序号、HH:MM:SS,mmm 格式的时间戳范围和字幕文本。几乎所有桌面媒体播放器都支持 SRT,是字幕分发的通用选择。

格式差异

JSON3 使用 events、tStartMs、dDurationMs 和 segs;SRT 使用编号纯文本字幕条目
JSON3 是 YouTube 内部 API 数据;SRT 是通用字幕标准
JSON3 将文本拆分为 utf8 片段;SRT 以完整字幕文本呈现每条内容
JSON3 很少被播放器和剪辑软件支持;SRT 可用于 VLC、智能电视、Premiere Pro 和媒体服务器

常见疑难与故障排查

针对播放器兼容性、字符乱码与时间轴同步的实操排查指南

4 个常见问题
GOTCHA #1

转换后的字幕在电视或播放器上出现时间漂移或音画不同步?

不同视频流媒体可能采用不同帧率(如 23.976 fps 与 25 fps 差异)。如果时间轴整体偏移,可在本站使用「字幕时间轴同步」工具快速进行全局微调。

GOTCHA #2

字幕在播放器中显示为乱码(Mojibake)或问号?

老旧文件可能采用 GBK、ANSI 或 Shift-JIS 编码。本站输出文件统一标准化为 UTF-8 编码。若原文件损坏,请先使用本站「字符编码转换器」修复。

GOTCHA #3

多角色同时说话时字幕层叠或遮挡画面?

不同格式对多行或重叠台词的处理机制不同。您可以在本站在线工作台中微调特定字幕行的时间轴,避免文字垂直堆叠遮挡画面。

GOTCHA #4

文件在剪辑软件(如 Premiere Pro、Final Cut)中导入报错?

专业剪辑软件对时间戳格式及换行符敏感。本工具输出的文件严格遵循行业规范,以支持主流剪辑工作流。

功能特性

自动解析 YouTube JSON3 events 数组和 segs 文本片段
将 JSON3 毫秒时间戳转换为 SRT 的 HH:MM:SS,mmm 计时格式
客户端处理——文件永远不会离开您的设备
支持 UTF-8 编码,适配中日韩等非拉丁字符
浏览器本地处理 · 文件不离设备
免费使用,无需注册,无水印,单个文件最大 50 MB。

为什么需要转换?

三星、LG、索尼和 Roku 设备的智能电视只显示 SRT 字幕,不支持 JSON3。
Premiere Pro、DaVinci Resolve 和 Final Cut 等视频编辑软件原生导入 SRT 但不识别 JSON3。
iOS 和 Android 上的移动视频播放器没有内置 JSON3 支持,但都能读取 SRT。
SRT 是每个字幕 API、自动化脚本和编码流水线都期望的格式。
SRT 是字幕 QC 和交付流水线中可靠的交换格式;平台专属 profiling 可另行处理。
Plex、Emby 和 Jellyfin 等媒体服务器自动检测 SRT 但忽略 JSON3 文件。
Scenarios

常见用途

视频编辑导入

将 YouTube JSON3 文件加载到 Adobe Premiere Pro、DaVinci Resolve 或 Final Cut Pro 中,它们接受时间轴上的 SRT 但不解析 JSON3。

媒体服务器库

将字幕添加到 Plex、Emby 或 Jellyfin 库中。这些服务器自动检测视频旁边的 .srt 文件但忽略 .json。

移动视频

通过将 JSON3 转换为通用支持的 SRT,确保字幕在 Infuse、nPlayer 和 MX Player 等 iOS 和 Android 视频应用中正常工作。

编码流水线

将字幕导入 FFmpeg、HandBrake 或 MKVToolNix 工作流进行硬编码或封装,所有这些都期望 SRT 输入。

字幕标准化

将 JSON3、VTT 和 SRT 文件的混合库统一为一致的 SRT 集合,方便管理。

Format Ecosystem

相关格式

JSON (YouTube JSON3)

JSON3 是 YouTube 内部使用的字幕格式,通过 timedtext API 导出。文件为 JSON 结构,包含 events 数组,每个事件有 tStartMs(起始毫秒)、dDurationMs(持续毫秒)和 segs(文本片段数组)。用户通常通过 youtube-dl、yt-dlp 等工具下载此格式。

VTT (WebVTT)

网页视频替代方案:添加 WEBVTT 头部并使用点分隔毫秒。如果目标是 HTML5 视频或 YouTube,可选择 VTT。

ASS (Advanced SubStation Alpha)

样式替代方案:支持字体、颜色和定位。如果需要为 YouTube JSON3 文本添加视觉样式,可选择 ASS。

工作原理

  1. 1

    上传或拖拽您的 .json 文件到工具区域。

  2. 2

    解析器读取 JSON 结构,遍历 events 数组。

  3. 3

    为每个条目添加 SRT 要求的顺序编号。

  4. 4

    没有 segs 的纯时间标记事件被跳过。

  5. 5

    生成的 .srt 文件为每条字幕提供序号、开始 --> 结束时间戳和干净的字幕文本。

常见问题

JSON3 是 YouTube 内部使用的字幕格式。它通过 timedtext API 提供,文件为 JSON 结构,包含 events 数组。每个事件有 tStartMs(起始毫秒)、dDurationMs(持续毫秒)和 segs(文本片段数组,每个片段有 utf8 字段)。

每个事件中的 utf8 片段会按原始顺序拼接。例如 "Hello " 和 "world" 会生成完整字幕行 "Hello world"。

可以。输出使用标准 SubRip 编号和 HH:MM:SS,mmm --> HH:MM:SS,mmm 时间格式,可加载到 VLC、MPV、三星/LG 电视、Premiere Pro、DaVinci Resolve、Plex 等工具。

使用 yt-dlp 命令:yt-dlp --write-auto-sub --sub-format json3 <视频URL>。下载的 .json3 文件可直接导入本工具转换。也可通过浏览器访问 YouTube timedtext API 获取。

YouTube JSON3 中有些事件只包含时间信息(如 aAppend 标记)而没有文本片段。这些事件在转换时会被自动跳过,不会影响 SRT 输出。

SRT(SubRip)是通用字幕格式,采用纯文本存储,包含序号、HH:MM:SS,mmm 格式的时间戳范围和字幕文本。几乎所有桌面媒体播放器都支持 SRT,是字幕分发的通用选择。

准备好转换您的字幕了吗?

将您的 JSON 文件拖放到这里,立即转换为 SRT。