WEBVTT(.vtt)比SubReal(.srt)有什么好处?

RNA*_*RNA 7 google-chrome subtitle chromium srt webvtt

我终于得出结论,google-chrome不支持.srt,因为WEBVTT是HTML5标准.

现在我想知道这个决定背后的原因是什么.

似乎google-chrome也可能支持.srt,因为:

  1. .srt被广泛使用
  2. .srt和.vtt几乎没有区别

在WEBVTT中有什么更好的东西使.srt过时了吗?

gol*_*enk 8

简短回答

\n

WebVTT 是作为 SRT 的扩展构建的,以添加 SRT 中不可用的有用功能。从最基本的形式来看,WebVTT 看起来与 SRT 几乎相同。然而,WebVTT 添加了许多(可选)方式来格式化输出并提供 SRT 所没有的辅助信息。额外功能的缺点是玩家更难支持它。由于SRT的功能很少,所以大多数玩家都支持。此外,SRT 是由一个相对默默无闻的团体开发的,其中 WebVTT 是一个 W3C 标准。

\n

长答案

\n

WebVTT(网络视频文本轨道)最初称为WebSRT。它是 SRT (SubRip) 的扩展。当不使用 WebVTT 提供的任何附加功能时,WebVTT 看起来与 SRT 几乎相同。例如,SRT 中的一个简单情况可能如下所示:

\n
1\n00:00:00.000 --> 00:00:02.000\nThe first cue text.\n\n2\n00:00:02.000 --> 00:00:04.000\nThe second cue text.\n
Run Code Online (Sandbox Code Playgroud)\n

等效的 WebVTT 可能如下所示:

\n
WEBVTT\n\n00:00.000 --> 00:02.000\nThe first cue text.\n\n00:02.000 --> 00:04.000\nThe second cue text.\n
Run Code Online (Sandbox Code Playgroud)\n

WebVTT 的诞生是为了添加许多 SRT 中不存在的功能。例如,在 WebVTT 中,您可以添加显示提示的说话者是谁的数据:

\n
00:02.000 --> 00:04.000\n<v Mary>Hi, I'm Mary!\n
Run Code Online (Sandbox Code Playgroud)\n

SRT 不正式包含任何字体样式。许多玩家在 SRT 中非正式地支持简单字体样式,但由于它不是格式的正式一部分,因此无法保证。WebVTT 确实包含字体样式作为格式的一部分。对于简单的字体样式,非官方的 SRT 和 WebVTT 看起来又很相似:

\n
<b>This text is bold.</b>\n
Run Code Online (Sandbox Code Playgroud)\n

但是,WebVTT 包含许多类型的字体样式以及许多包含 SRT 未包含的字体样式的方法。例如,WebVTT 具有与 HTML 的 CSS 类似的样式表。对于上面标记的扬声器示例,您可以在文件中包含特定扬声器的所有实例的字体样式:

\n
::cue(v[voice="Mary"]) { color: lime }\n
Run Code Online (Sandbox Code Playgroud)\n

当多个讲话者互相交谈时,这非常有用,以便可以在字幕中区分他们的讲话。

\n

正如 WebVTT 支持但 SRT 不支持的其他一些内容的快速示例一样,

\n

在视口中定位和调整提示的大小:

\n
00:00:00.000 --> 00:00:04.000 position:10%,line-left align:left size:35%\nI'm over here.\n
Run Code Online (Sandbox Code Playgroud)\n

高于正常字符的小字符的拼音文本(通常在东亚语言中用于提供语音指南):

\n
00:02.000 --> 00:04.000\n<ruby>\xe6\x9d\xb1\xe4\xba\xac<rt>\xe3\x81\xa8\xe3\x81\x86\xe3\x81\x8d\xe3\x82\x87\xe3\x81\x86</rt></ruby>\n
Run Code Online (Sandbox Code Playgroud)\n

提示按时间细分:

\n
00:00:00.000 --> 00:00:06.000\nThis <00:00:01.000>text <00:00:02.000>appears <00:00:03.000>over <00:00:04.000>5 <00:00:05.000>seconds.\n
Run Code Online (Sandbox Code Playgroud)\n

SRT的优点就是简单,所以有更多的玩家支持。幸运的是,将 SRT 转换为 WebVTT 相当容易,反之亦然。由于 WebVTT 基本上是 SRT 的超集,因此您只需更改一些小语法即可从 SRT 转换为 WebVTT。要从 WebVTT 转到 SRT,您需要删除所有额外的功能标签,然后执行轻微的语法更改。当然,在这个方向上,您将失去 WebVTT 提供的所有额外功能。

\n

如上所述,SRT 是由一个相对默默无闻的团体开发的,WebVTT 是一个 W3C 标准。正如最初的问题所指出的,它或多或少是 HTML5 的“官方”标题/副标题格式。

\n


Man*_*s D 7

可能人们只是喜欢重新发明轮子.

我看到的唯一区别是vtt支持屏幕上的字幕定位.

免责声明:我是https://github.com/mantas-done/subtitles的作者 我已经实现了几种字幕格式,包括.srt和.vtt.这5种格式中的每一种都非常相似:空格与无空格,逗号与句点.


小智 7

WebVTT 具有非常强大的功能,包括字体、颜色和文本格式以及位置。最初 SRT 不支持任何格式,但它已升级为支持基本文本格式(粗体、斜体、下划线)和放置。但是,它没有与 VTT 几乎相同的功能。 来源

Webvtt 规范


归档时间:

查看次数:

3870 次

最近记录:

7 年,3 月 前