问题标签 [webvtt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4115 浏览

javascript - 来自 WEBVTT 的 RDF/JSON Javascript 解析器

晚上好。

直截了当——我需要一个从 WEBVTT 文件中的特定时间间隔获取 RDF/JSON 结构的脚本。这样的事情存在吗?

RDF/JSON 是 Talis 指定的文件结构,如下所示:

WEBVTT 实现了这样的结构:

我会在查看视频文件时使用这样的文件,当我点击时间线的某些部分时,脚本会获取相应的 RDF/JSON 代码(我现在可以这样做,已经有一个 WEBVTT 解析器),然后解析器从 RDF/JSON 结构中获取对象中的请求信息。

当我看到 jQuery 实现了 getJson 时,我真的很高兴,但它只适用于“普通”的 json 文件。

最好的办法可能是只编写脚本,但我的时间和知识非常有限,所以我想听听任何人可能知道的任何建议或解决方案。

0 投票
2 回答
3870 浏览

c# - 解析 XML 以将时间文本标记转换为 WebVTT

我正在开发一个 Web 应用程序,它可以接收时间文本标记(TTML)或WebVTT格式的字幕文件。如果文件是定时文本,我想把它翻译成 WebVTT。这基本上不是问题,我遇到的一个问题是,如果 TTML 将 HTML 作为文本内容的一部分,那么 HTML 标记就会被删除。

例如:

结果是:

我使用的代码是:

任何关于我遗漏的想法,或者是否有更好的方法,或者即使已经有将时间文本转换为 WebVTT 的解决方案,我们都将不胜感激。谢谢。

0 投票
2 回答
2011 浏览

webvtt - 网络 VTT 不工作

我正在使用 XAMP,每次尝试上传字幕时,都会出现此错误“跨域资源共享策略拒绝了跨域文本轨道加载”。(谷歌浏览器)

我的代码似乎是正确的,我不知道它为什么会这样做。

这是我的视频代码

这是vtt文件

任何帮助都会很棒谢谢你们!

0 投票
0 回答
822 浏览

ios - 如何在 iOS 中的 HLS 播放期间提取 webvtt 字幕的文本?

我们希望在 HLS 播放期间同时提取字幕文本。(我们不想只显示字幕)

目前我们可以将文本数据mediastreamsegmenter注入 MPEG-TS 文件并添加观察者[self.player.currentItem addObserver:self forKeyPath:@"timedMetadata"

但我们想使用 webvtt 而不是将文本注入 MPEG-TS 文件。

如何使用 webvtt 做到这一点?

0 投票
0 回答
434 浏览

html - html5视频播放器中的track元素

我正在使用 webkit 中的 HTML5 视频播放器,我有一个 webvtt 文件,我需要在视频中显示字幕,但是即使我在 track 元素中指定了 webvtt 文件,也不会显示字幕。所以谁能告诉我我应该在哪里继续挖掘 webkit 以便它可以工作。如果我的查询没有正确放置,再次抱歉,但这就是我可以提取的最好的内容。

我们正在开发在 gtk 端口上使用 webkit 的三星智能电视 SDK 模拟器。

应用程序从模拟器运行。应用程序从 index.html 文件中提供字幕信息。index 文件包含以下信息。

vtt 文件看起来像

实际上,我们在 HTMLMediaElement.cpp 中看到了一个宏 VIDEO_TRACK,我们启用了它,但它没有帮助。

实际上,我们尝试使用启用 VIDEO_TRACK

但这没有帮助。

我们在 HTMLMediaElement 中看到以下代码

但它不执行。

如果您需要有关我的查询的更多信息,请告诉我,再次非常感谢。

谢谢,维内特。

0 投票
0 回答
318 浏览

video - DOTSUB 和 AMARA 哪个更好

我正在寻找支持多种语言的用户友好的字幕创建者。我遇到了AMARADOTSUB 。两者看起来都不错,很难选择,所以我正在寻找一些专家意见。

我将在我的视频中使用 Jwplayer(如果这个因素也影响字幕的创建,我想知道)。我还有 CDN cloudfront 中的所有视频,视频都是 mp4 格式。

到目前为止,我遇到了
how_is_your_experiences_with_amaravideo-subtitling-captioning-and-translation-tools-amara-versus-dotsub,两者都没有给我正确的答案,帮我选择最好的。

0 投票
2 回答
1248 浏览

chromecast - Chromecast 字幕支持

玩了很多 Chromecast 以找到一个很好的隐藏式字幕解决方案(在我的项目中,我们已经使用 TTML 和分段 WEBVtt - 两者都不能“按原样”工作)我非常惊讶地发现我的最后一个好主意,不支持手动将“new VTTCue()”添加到 textTrack 元素。

我在这里阅读了很多问题的答案,其中的答案类似于“自己动手”,比如这个Chromecast 支持 TTML 吗?.

您可以简单地编写一个 Javascript 解析器来解析 [ttml] 文件,并使用 addTextTrack() 等方法在 javascript 中将提示添加到您的视频元素

好吧,它确实说这里支持 TTML https://github.com/googlecast/CastClosedCaptioning-chrome但没关系。

因此,未能通过谷歌搜索答案(VTTCue 的替代代码)我求助于专业人士 - 我如何添加不支持 VTTCue 的提示?

我真正真正认为(希望)会起作用:

注意:这是为了避免将 TTML 写入 WEBVtt 转换器或分段 WEBVtt 组合器

0 投票
3 回答
1621 浏览

http-headers - 即使启用 CORS,Azure blob 中的 Web VTT 字幕也无法正常工作

我希望通过http://attendedstorage.com/videotest2.html播放带有 mp4 视频的 .vtt 字幕文件

但是,没有看到 .vtt 是否托管在 Azure blob 中。我已经在 Chrome 和 IE10 中进行了测试。

我确实设置了“内容类型:txt/vtt”。

这个问题分为三个部分:

1)每个Chrome开发工具http://cropme.ru/a672cceae9962b975f15b6ddacfe061e的浏览器没有读取.vtt - 我可以帮助找出原因......

2) 我还为 blob 服务启用了 CORS。但是,当我无法使用以下工具设置“Access-Control-Allow-Origin:*”或“Access-Control-Allow-Origin:*.attendedstorage.com”时:

根据http://cropme.ru/546c699f8a1264994c18a624eeaa5060 - Cerebrata AMS - 设置 CORS 但没有可用于设置“Access-Control-Allow-Origin:*”的 http 标头 http://cropme.ru/20ac02af8b883e7cf09f4f076e137770

根据http://cropme.ru/f95fbbcf94c26b65f48163ee4dc98194 - Zudio - 无法设置“访问控制允许来源:*” 根据http://cropme.ru/bad39b334aad865a20ac016f981038be - Cloudberry - 允许设置“访问控制允许来源: *" 但是当你查看它是否注册时不会保留它。

我还没有达到知道如何直接使用 API 的水平,所以我更喜欢使用工具。

3)我还测试了 azure 网站的视频文件夹中的 mp4 和 vtt,但即使在同一个域上,也无法识别 vtt。在域标题下方:

更新:我已经修改了http://attendedstorage.com/videotest3.html的版本,以测试将视频链接到轨道(这意味着这不应与http://attendedstorage.com/相同的域来源) test3.mp4https://attendedstorage.com/test3.vtt。以下是 Chrome 控制台的内容:

这使我认为要解决上述问题的第 3 部分),如果那是“track 元素的父级”,我还需要在 azure 网站中设置 http 标头 - 我正在尝试阅读 Azure Powershell 但是我更喜欢通过 GUI 或工具(如果存在允许我更改 Attendstorage.com azure 网站中的 http 标头)的工具,因为我需要一段时间才能了解 Powershell。我仍然不明白为什么在这种情况下需要这样做,因为视频和曲目来自与 html 文件相同的域。由于我确实在 blob 中启用了 CORS,但我无法使用工具来更改 blob 中的 http 标头“Access-Control-Allow-Origin:*”,因此这也仍然存在第 2 部分)问题。

0 投票
7 回答
17865 浏览

html5-audio - 加载 VTT 文件时出现跨域错误

我是在 HTML 5 中使用音频标签的新手,我想构建一个播放器。我想在曲目标签中使用 VTT 文件进行测试,以了解隐藏式字幕如何工作。

这是我的代码:

根据我所阅读的内容,track 应该适用于音频和视频,从可访问性的角度来看,这是有道理的。没有意义的是我尝试加载它的错误:

在查找 crossorigin 属性时,我得到了很多关于 CORS 以及“匿名”和“用户证书”的预期值的令人困惑的文章。尝试任何一种都会导致类似的错误。

关于为什么这不起作用的任何想法?

0 投票
1 回答
1912 浏览

video - 如何让 VTT 文件在流媒体服务器上与我的 mp4 一起使用?

我有几个视频正在尝试添加 VTT 隐藏式字幕文件。我在 Blackboard SP11 中通过 JWPlayer 6.8 部署 MP4。我很难准确地理解我需要做什么才能让它发挥作用。MP4 与 VTT 文件位于不同的服务器上。我被告知流媒体服务器不支持视频以外的任何内容,因此 VTT 文件必须托管在其他地方。

这是否意味着我需要基于 VTT 制作 XML 文件?我找不到有关如何执行此操作的任何好的文档。请帮忙!这是代码:

提前致谢。