YouTube JSON3 转 VTT 网页字幕在线转换器
将 YouTube timedtext JSON3 事件转换为带必需 WEBVTT 头部和 HH:MM:SS.mmm 计时的 WebVTT 字幕。
拖放您的 JSON 文件到这里
或点击浏览
支持最大 50 MB 的 .json, .json3, .xml, .html 文件
关于 JSON 转 VTT
HTML5 track 元素和多数网页视频平台不接受 YouTube 的 JSON3 格式。本工具解析 JSON3 events 数组,拼接 segs 文本片段、计算字幕时间,并输出带必需 WEBVTT 头部的有效 WebVTT 文件,可直接用于 HTML5 视频、YouTube Studio、Vimeo 和 JavaScript 播放器。
JSON 到 VTT 语法结构与代码转换示例
直观对比转换前后文件头、时间轴标记与对白文本的代码级语法对应关系
JSON 与 VTT 格式规范深度解析
JSON
JSON3 是 YouTube 内部使用的字幕格式,通过 timedtext API 导出。文件为 JSON 结构,包含 events 数组,每个事件有 tStartMs(起始毫秒)、dDurationMs(持续毫秒)和 segs(文本片段数组)。用户通常通过 youtube-dl、yt-dlp 等工具下载此格式。
VTT
WebVTT(.vtt)是 W3C 现代网页字幕标准。每个字幕条目包含 HH:MM:SS.mmm --> HH:MM:SS.mmm 时间戳、可选布局设置和一行或多行文本。被 HTML5 video、YouTube、Vimeo 及大多数流媒体平台使用。
格式差异
常见疑难与故障排查
针对播放器兼容性、字符乱码与时间轴同步的实操排查指南
转换后的字幕在电视或播放器上出现时间漂移或音画不同步?
不同视频流媒体可能采用不同帧率(如 23.976 fps 与 25 fps 差异)。如果时间轴整体偏移,可在本站使用「字幕时间轴同步」工具快速进行全局微调。
字幕在播放器中显示为乱码(Mojibake)或问号?
老旧文件可能采用 GBK、ANSI 或 Shift-JIS 编码。本站输出文件统一标准化为 UTF-8 编码。若原文件损坏,请先使用本站「字符编码转换器」修复。
多角色同时说话时字幕层叠或遮挡画面?
不同格式对多行或重叠台词的处理机制不同。您可以在本站在线工作台中微调特定字幕行的时间轴,避免文字垂直堆叠遮挡画面。
文件在剪辑软件(如 Premiere Pro、Final Cut)中导入报错?
专业剪辑软件对时间戳格式及换行符敏感。本工具输出的文件严格遵循行业规范,以支持主流剪辑工作流。
功能特性
为什么需要转换?
常见用途
HTML5 视频嵌入
使用指向 VTT 文件的 track 元素为网站视频添加字幕。浏览器不会通过 track 元素加载 JSON3 文件。
YouTube 字幕上传
将 VTT 文件上传到 YouTube Studio 而非手动输入字幕。YouTube 接受 VTT 但不接受 JSON3。
Vimeo 字幕
通过字幕设置面板上传 VTT 文件,为 Vimeo 视频添加闭合字幕。
在线学习平台
在 VTT 是可接受的网页字幕格式时,为 Coursera、Canvas 或你自己的 LMS 上的课程视频添加字幕。
JavaScript 视频播放器
在 Video.js、Plyr、JW Player 或类似 Web 播放器中启用字幕,它们读取 VTT 作为字幕源。
相关格式
JSON (YouTube JSON3)
JSON3 是 YouTube 内部使用的字幕格式,通过 timedtext API 导出。文件为 JSON 结构,包含 events 数组,每个事件有 tStartMs(起始毫秒)、dDurationMs(持续毫秒)和 segs(文本片段数组)。用户通常通过 youtube-dl、yt-dlp 等工具下载此格式。
SRT (SubRip)
通用替代方案:适用于智能电视和桌面播放器。如果目标不是网页浏览器,可选择 SRT。
ASS (Advanced SubStation Alpha)
样式替代方案:支持字体、颜色和定位。如果视觉样式比网页兼容性更重要,可选择 ASS。
工作原理
- 1
上传或拖拽您的 .json 文件到工具区域。
- 2
解析器读取 JSON 结构,遍历 events 数组。
- 3
每个时间戳对重新格式化为 VTT 表示法:小时填充、箭头插入、毫秒句点保留。
- 4
没有 segs 的纯时间标记事件被跳过。
- 5
生成的 .vtt 文件以 WEBVTT 开头,并包含网页播放器可用的标准箭头分隔字幕条目。
更多字幕工具
常见问题
JSON3 是 YouTube 内部使用的字幕格式。它通过 timedtext API 提供,文件为 JSON 结构,包含 events 数组。每个事件有 tStartMs(起始毫秒)、dDurationMs(持续毫秒)和 segs(文本片段数组,每个片段有 utf8 字段)。
每个事件中的 utf8 片段会按原始顺序拼接。例如 "Hello " 和 "world" 会生成完整字幕行 "Hello world"。
可以。输出包含必需的 WEBVTT 头部和有效字幕计时,适用于 YouTube Studio、Vimeo、HTML5 track 元素、Video.js、Plyr 和 JW Player。
使用 yt-dlp 命令:yt-dlp --write-auto-sub --sub-format json3 <视频URL>。下载的 .json3 文件可直接导入本工具转换。也可通过浏览器访问 YouTube timedtext API 获取。
YouTube JSON3 中有些事件只包含时间信息(如 aAppend 标记)而没有文本片段。这些事件在转换时会被自动跳过,不会影响 VTT 输出。
WebVTT(.vtt)是 W3C 现代网页字幕标准。每个字幕条目包含 HH:MM:SS.mmm --> HH:MM:SS.mmm 时间戳、可选布局设置和一行或多行文本。被 HTML5 video、YouTube、Vimeo 及大多数流媒体平台使用。