我最终得出的结论是,google-chrome不支持.srt,因为WEBVTT是HTML5标准。现在我想知道这个决定背后的原因是什么。google chrome可能也支持.srt,因为:1..srt被广泛使用1..srt和.vtt几乎没有区别WEBVTT中有没有更好的东西可以让.srt过时?
izj3ouym1#
也许人们只是喜欢重新发明轮子。我看到的唯一区别是vtt支持屏幕上的字幕定位。免责声明:我是https://github.com/mantas-done/subtitles的作者,我已经实现了几种字幕格式,包括.srt和. vtt。这5种格式中的每一种都非常相似:空格与无空格,逗号与句号。
vngu2lb82#
WebVTT是作为SRT的扩展构建的,以添加SRT中没有的有用功能。在其最基本的形式中,WebVTT看起来与SRT几乎相同。然而,WebVTT添加了许多(可选)格式化输出并提供SRT没有的辅助信息的方法。额外功能的缺点是玩家更难支持它。因为SRT的功能很少,大多数玩家都支持它。而且,SRT是由一个相对不知名的组织开发的,其中WebVTT是W3C标准。
WebVTT(Web Video Text Tracks)最初称为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的CSS的样式表。对于上面标记的扬声器示例,您可以在文件中包含特定扬声器的所有示例的字体样式:
::cue(v[voice="Mary"]) { color: lime }
型这在多个说话者相互交谈时很有用,这样他们的语音就可以在字幕中区分开来。正如WebVTT支持的其他一些东西的快速采样一样,SRT不支持,在视口中定位提示并调整其大小:
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,您需要去掉所有额外的features标记,然后执行轻微的语法更改。当然,在这个方向上,您将失去WebVTT提供的所有额外功能。如上所述,SRT是由一个相对不知名的组织开发的,WebVTT是W3C标准。正如最初的问题所指出的,它或多或少是HTML5的“官方”标题/字幕格式。
js5cn81o3#
WebVTT具有非常强大的功能,包括字体、颜色和文本格式以及放置。最初SRT不支持任何格式,但它已升级为支持基本文本格式(粗体、斜体、下划线)和放置。然而,它没有与VTT几乎相同的功能。sourceWebvtt spec的
3条答案
按热度按时间izj3ouym1#
也许人们只是喜欢重新发明轮子。
我看到的唯一区别是vtt支持屏幕上的字幕定位。
免责声明:我是https://github.com/mantas-done/subtitles的作者,我已经实现了几种字幕格式,包括.srt和. vtt。这5种格式中的每一种都非常相似:空格与无空格,逗号与句号。
vngu2lb82#
简短回答
WebVTT是作为SRT的扩展构建的,以添加SRT中没有的有用功能。在其最基本的形式中,WebVTT看起来与SRT几乎相同。然而,WebVTT添加了许多(可选)格式化输出并提供SRT没有的辅助信息的方法。额外功能的缺点是玩家更难支持它。因为SRT的功能很少,大多数玩家都支持它。而且,SRT是由一个相对不知名的组织开发的,其中WebVTT是W3C标准。
长回答
WebVTT(Web Video Text Tracks)最初称为WebSRT。它是SRT(SubRip)的扩展。当不使用WebVTT提供的任何附加功能时,WebVTT看起来与SRT几乎相同。例如,SRT中的一个简单案例可能如下所示:
字符串
其中等效的WebVTT可能看起来像:
型
WebVTT之所以被制作出来,是为了添加许多SRT中不存在的功能。例如,在WebVTT中,您可以添加显示提示语发言者是谁的数据:
型
SRT不包含任何正式的字体样式。许多玩家在SRT中非正式地支持简单字体样式,但由于它不是格式的正式组成部分,因此无法保证。WebVTT确实包含字体样式作为格式的一部分。对于简单字体样式,非官方的SRT和WebVTT看起来很相似:
型
但是,WebVTT包含许多类型的字体样式和许多方法,这些方法不包含在SRT中。例如,WebVTT具有类似于HTML的CSS的样式表。对于上面标记的扬声器示例,您可以在文件中包含特定扬声器的所有示例的字体样式:
型
这在多个说话者相互交谈时很有用,这样他们的语音就可以在字幕中区分开来。
正如WebVTT支持的其他一些东西的快速采样一样,SRT不支持,
在视口中定位提示并调整其大小:
型
拼音文本,用于比正常字符高的小字符(常用于东亚语言,以提供语音指南):
型
按时间细分的提示:
型
SRT的优点是它非常简单,因此有更多的玩家支持它。幸运的是,将SRT转换为WebVTT相当容易,反之亦然。由于WebVTT基本上是SRT的超集,因此您只需要更改一些次要的语法即可从SRT转换为WebVTT。要从WebVTT转换为SRT,您需要去掉所有额外的features标记,然后执行轻微的语法更改。当然,在这个方向上,您将失去WebVTT提供的所有额外功能。
如上所述,SRT是由一个相对不知名的组织开发的,WebVTT是W3C标准。正如最初的问题所指出的,它或多或少是HTML5的“官方”标题/字幕格式。
js5cn81o3#
WebVTT具有非常强大的功能,包括字体、颜色和文本格式以及放置。最初SRT不支持任何格式,但它已升级为支持基本文本格式(粗体、斜体、下划线)和放置。然而,它没有与VTT几乎相同的功能。source
Webvtt spec的