首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自WEBVTT的RDF/JSON的Javascript解析器

来自WEBVTT的RDF/JSON的Javascript解析器
EN

Stack Overflow用户
提问于 2011-08-02 06:17:05
回答 2查看 4K关注 0票数 6

晚上好。

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

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

代码语言:javascript
复制
{ "S" : { "P" : [ O ] } }

WEBVTT实现了下面提到的结构:

代码语言:javascript
复制
0
00:00:00,000 --> 00:00:46,119
{ "S" : { "P" : [ O ] } }

1
00:00:48,000 --> 00:00:50,211
{ "S" : { "P" : [ O ] } }

...

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

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-03 08:56:47

我已经为我的<track>/HTML5视频字幕polyfill Captionator编写了一个WebVTT解析器。

可以随意分析开发分支的源代码(它具有最好的WebVTT遵从性,因此查看它可能比查看稳定分支更好)。

解析器代码从这里开始:https://github.com/cgiffard/Captionator/blob/captioncrunch/js/captionator.js#L1686

最终,您所描述的似乎与metadata track类型的预期用例大致匹配(如WHATWG's TimedTextTrack spec中所述)。你可以使用Captionator (我很乐意向你推荐另一个库,但我不知道还有什么不能与整个视频播放器捆绑在一起的,或者实现了你需要的TimedTextTrack JS )来提供支持-- TextTrack.oncuechange事件和TextTrack.activeCues列表让你能够在用户在视频时间轴内寻找线索时监听线索的变化。然后,您可以获取每个提示的文本(减去提示元数据和标题),并将其解析为JSON。只需像下面这样设置一个字幕:

代码语言:javascript
复制
<video src="myvideo.webm" poster="poster.jpg" width="512" height="288">
    <track kind="metadata" src="meta.webvtt" type="text/webvtt" srclang="en" label="Metadata Track" default />
</video>

然后,包含字幕器库,根据documentation对其进行初始化,选择您的曲目并设置事件处理程序。您可以访问单个提示的文本,如下所示:

代码语言:javascript
复制
var cueText = document.getElementById("video").tracks[0].activeCues[0].getCueAsSource();

然后只需:

代码语言:javascript
复制
var RDFData = JSON.parse(cueText);

祝你好运:)

票数 6
EN

Stack Overflow用户

发布于 2011-08-02 21:39:09

看起来RDF/JSON实际上是一个复杂的带有向量的嵌套JSON结构,所以一旦getJSON函数从WEBVTT timed structure中获取数据,它就会成功地解析其中的数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6905167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档