SRT 和 WebVTT 字幕

M3U8 Player 带字幕:将 SRT 或 VTT 添加到 HLS

带字幕的 M3U8 播放器可让您播放 HLS 流并在浏览器中附加外部 .srt 或 .vtt 字幕文件。该播放器在本地将SRT转换为WebVTT,将其添加为字幕轨道,并且不上传流或字幕文件。

最后更新: June 20, 2026

播放、历史记录、收藏夹、字幕和浏览器转换均保留在此设备上。仅当您打开 CORS 代理时,HLS 请求才会通过代理。

智能CORS代理

当直接浏览器播放被阻止时,对清单、密钥和段使用 Cloudflare Worker 代理。

视频预览

链接健康报告

解析变体、比特率、片段持续时间、加密和实时/VOD状态,然后对媒体片段进行死链接采样。分段检查受到浏览器CORS的限制,因此启用代理以获得最准确的结果。

字幕格式和 HLS 支持

字幕来源支持路径会发生什么
本地 .vtt 文件将WebVTT 文件拖到播放器中。浏览器可以直接将其附加为字幕轨道。
本地 .srt 文件将SRT 文件拖到播放器中。播放器在添加曲目之前将其本地转换为WebVTT。
HLSWebVTT轨道如果清单宣传字幕,则正常播放流。浏览器和播放器支持取决于清单和轨道元数据。
.ass 或 .ssa 文件加载前将其转换为 SRT 或 VTT。此浏览器播放器不直接附加样式字幕格式。
烧录字幕不需要额外的文件。文本是视频像素的一部分,不能作为轨道进行切换。

如何向 M3U8 流添加字幕

  1. 1播放M3U8流粘贴 HLS URL 并按“播放”,以便在附加外部字幕文件之前加载视频。
  2. 2添加本地字幕文件将 .srt 或 .vtt 文件拖到视频区域,或使用播放器工具栏中的字幕控件。
  3. 3让 SRT 转换为 WebVTT如果文件为 SRT,则浏览器会将提示计时和文本转换为 WebVTT,因为本机 HTML 轨道需要 VTT。
  4. 4检查时间和语言开始播放并确认字幕与语音对齐。如果时间不对,请在编辑器中调整字幕文件并重新加载。
  5. 5仅使用代理进行流访问字幕是本地的,但如果 CORS 或 Referer 保护阻止播放,HLS 流可能仍需要代理。

为什么SRT需要在浏览器播放之前进行转换

HTML 视频轨道使用 WebVTT,而不是 SubRip SRT。播放器读取本地 SRT 文件,将时间戳和提示转换为浏览器中的 WebVTT blob,然后将该 blob 附加到视频元素。转换是本地的,不会将字幕文件发送到服务器。

当外部字幕比嵌入轨道更好时

当HLS流没有字幕轨道、嵌入语言错误或者您在发布之前对翻译字幕进行质量检查时,外部字幕非常有用。它们还允许编辑人员根据实时 HLS 播放路径(而不是本地 MP4 导出)检查字幕时序。

不出现字幕时应检查什么

确认文件扩展名是 .srt 或 .vtt、提示时间戳有效并且视频已开始。如果流本身被阻止,请首先使用 CORS 或 Referer 设置修复播放。字幕加载无法修复从未到达播放器的流。

常见问题

我可以在线向 M3U8 流添加字幕吗?

是的。播放 M3U8 流,然后添加本地 .srt 或 .vtt 字幕文件。字幕是附加在浏览器中的,未上传。

播放器支持SRT字幕吗?

是的。 SRT 文件在本地转换为 WebVTT,因为浏览器通过 WebVTT 显示外部文本轨道。

我的字幕文件上传了吗?

不会。字幕文件由您的浏览器读取,根据需要进行转换,并作为本地文本轨道附加。它不会发送到服务器。

我可以使用 ASS 或 SSA 字幕吗?

不直接。首先将 ASS 或 SSA 字幕转换为 SRT 或 VTT,然后将转换后的文件加载到播放器中。

为什么字幕不同步?

字幕计时来自字幕文件。如果字幕早或晚,请在字幕编辑器中调整提示时间戳并重新加载更正的文件。