仅使用本地文件显示.vtt字幕(即修复错误的跨源错误)

时间:2016-01-09 16:48:50

标签: javascript google-chrome html5-video local webvtt

我正在制作一个网页,作为一系列纪录片视频的前端,这些视频将被刻录到DVD上。我们希望利用webm视频的高级压缩和.vtt文件提供的轻量级多语言解决方案。

但是,在Chrome中,我收到以下错误。

  

来自原文的文字追踪' file://'已被阻止加载:与文档的原点不同,并且track元素的父元素没有“cross crossigin”#39;属性。起源' null'因此不允许访问。

Chrome显然认为我的index.html与我的.vtt文件不同,该文件位于完全相同的本地文件夹中。对于另一个浏览器来说也是如此(虽然我不记得哪一个)。

看到最终产品必须能够在任何用户的系统上本地运行,以下解决方案在我的情况下不适用

  • 上传到网络服务器,这将修复它。 (就我而言,它必须从DVD上运行。)
  • 设置Chrome以允许文件访问文件,如果您想在本地测试内容,这非常适合。 (http://www.chrome-allow-file-access-from-file.com/)(但我不希望每个DVD用户破解他们的浏览器。)
  • 摆弄.htaccess(在网络服务器上工作,但据我所知,这些文件不能在本地工作。抱歉,我不记得这个解决方案的链接。)
  • 将字幕烘焙到视频中(DVD上没有足够的空间用于所有语言)。

我正在使用video.js,但如果可以解决这个问题,我会很乐意看一个不同的框架。也很乐意使用其他类型的字幕(即.srt)或不跟踪视频标签内标签的内容。

有些解决方案提到启用CORS(http://enable-cors.org/)。它适用于本地的.vtt文件还是一个疯狂的追逐?

提前感谢您的时间!

0 个答案:

没有答案