我最终得出结论,google不支持.srt,因为WEBVTT是HTML5标准。
现在我想知道这个决定背后的理由是什么。
似乎google-chrome也支持.srt,因为:
WEBVTT中有什么更好的东西使.srt过时了吗?
发布于 2022-02-05 22:04:16
简短回答
WebVTT是作为SRT的扩展构建的,以添加在SRT中不可用的有用特性。在最基本的形式中,WebVTT看起来与SRT几乎相同。但是,WebVTT添加了许多(可选的)方法来格式化输出,并提供SRT没有的辅助信息。额外功能的缺点是玩家更难支持它。因为SRT的功能很少,所以大多数玩家都支持它。
长答案
WebVTT (网络视频文本轨道)最初被称为WebSRT。它是SRT (SubRip)的扩展。当不使用WebVTT提供的任何附加特性时,WebVTT看起来与SRT几乎相同。例如,SRT中的一个简单案例可能如下:
1
00:00:00.000 --> 00:00:02.000
The first cue text.
2
00:00:02.000 --> 00:00:04.000
The second cue text.其中等效的WebVTT可能如下所示:
WEBVTT
00:00.000 --> 00:02.000
The first cue text.
00:02.000 --> 00:04.000
The second cue text.创建WebVTT的原因是为了添加许多在SRT中不存在的特性。例如,在WebVTT中,您可以添加数据,显示提示的说话者是谁:
00:02.000 --> 00:04.000
<v Mary>Hi, I'm Mary!SRT不正式包括任何字体样式。许多玩家在SRT中非正式地支持简单的字体样式,但是由于它不是正式的格式的一部分,所以没有任何保证。WebVTT确实将字体样式作为格式的一部分。对于简单的字体样式,非官方的SRT和WebVTT看起来也很相似:
<b>This text is bold.</b>但是,WebVTT包含许多类型的字体样式,以及许多不包含在SRT中的字体样式的方法。例如,WebVTT有类似于HTML的样式表。对于上面标记的扬声器示例,您可以在文件中包括特定扬声器的所有实例的字体样式:
::cue(v[voice="Mary"]) { color: lime }这可能是有用的,当多个发言者互相交谈,以使他们的发言可以被区分在字幕。
就像WebVTT支持的其他一些东西的快速抽样一样,
在视口内定位和调整线索大小:
00:00:00.000 --> 00:00:04.000 position:10%,line-left align:left size:35%
I'm over here.红宝石文本,用于小字符以上的正常字符(经常用于东亚语言,以提供语音指南):
00:02.000 --> 00:04.000
<ruby>東京<rt>とうきょう</rt></ruby>按时间细分的线索:
00:00:00.000 --> 00:00:06.000
This <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.SRT的优点是它是如此简单,以至于更多的玩家支持它。幸运的是,很容易将SRT转换为WebVTT,反之亦然。因为WebVTT基本上是SRT的超集,所以您只需要更改一些次要语法就可以从SRT转换为WebVTT。要从WebVTT到SRT,您可以去掉所有额外的特性标记,然后执行轻微的语法更改。当然,在这个方向上,您将失去WebVTT提供的所有额外功能。
其中SRT是由一个相对模糊的组开发的,WebVTT是一个W3C标准。正如最初的问题所指出的,它或多或少是HTML5的“官方”标题/字幕格式。
发布于 2017-01-15 17:13:12
也许人们只是喜欢重新发明轮子。
我看到的唯一不同是vtt支持屏幕上的字幕定位。
免责声明:我是https://github.com/mantas-done/subtitles的作者,我实现了几种字幕格式,包括.srt和.vtt。这5种格式中的每一种都非常相似:空格对无空格,逗号对句点。
https://stackoverflow.com/questions/39610163
复制相似问题