【问题标题】:Why relative path path does not display HTML5 subtitles为什么相对路径路径不显示 HTML5 字幕
【发布时间】:2016-01-21 09:02:06
【问题描述】:

昨天我开始使用 HTML5 Autoplay 并添加了 HTML5 Tag aka Subtitles。

我无法理解为什么当我播放 *.mp4 视频的样本时,它可以通过相对路径 (file:///Users/user/Desktop/test.html) 显示字幕,但如果我例如,通过 Pycharm 执行文件,它会在浏览器上生成此文件路径 (http://localhost:63343/Desktop/test.html),并且可以很好地加载字幕。

所以我想知道是否有办法解决我的问题。如何通过绝对路径(file:///Users/user/Desktop/test.html)加载字幕。我在这里有什么遗漏吗?

我正在使用 google-chrome 作为网络浏览器。

更新:我在尝试调试我的网页时遇到了与Crossorigin errors when loading VTT file 相同的错误。同样的人说他们能够通过Disable same origin policy in Chrome 解决这个问题。我尝试使用以下方式(open -a Google\ Chrome --args --disable-web-security)重新启动我的浏览器,但这对我的问题没有任何影响。

更新 2: 我刚刚在替代浏览器 Safar(版本 9.0.2 (11601.3.9))上测试了同样的问题。在 Safari 上,我可以看到带有 (file:///Users/user/Desktop/test.html) 的字幕,而带有 (http://localhost:63343/Desktop/test.html) 的视频不显示。

使用 Google-Chrome(版本 47.0.2526.106(64 位))我可以双向播放视频,但我只能看到带有 (http://localhost:63343/Desktop/test.html) 的字幕。

在网络上的进一步搜索帮助我找到了CORS settings attributes,用户可以在其中将 crossOrigin 属性设置为(匿名)或(使用凭据)。我也试过了,结果视频黑屏。

所以总而言之,我认为这是一个安全问题,而不是路径文件问题。

test.html 代码示例:

<!DOCTYPE html>
<html>
<head>
    <title>Sample of video with vtt file</title>
</head>
<body>
<video id="video" controls preload="metadata" width="350" height="250" autoplay>
    <source src="SampleVideo.mp4" type="video/mp4">
    <source src="SampleVideo.ogg" type="video/ogg">
    <track label="English" kind="subtitles" srclang="en" src="subtitles-en.vtt" default>
</video>
</body>
</html>

subtitles-en.vtt 文件代码示例:

WEBVTT

Introduction
00:00:00.000 --> 00:00:02.000
Wikipedia is a great adventure. It may have
its shortcomings, but it is the largest collective
knowledge construction endevour

Disclaimer
00:00:02.000 --> 00:00:05.000
This is just a track demo using VTT

【问题讨论】:

    标签: html relative-path absolute-path webvtt


    【解决方案1】:

    我看到你自己解决了,但你是对的,这确实是一个安全问题,因为你不能以这种方式访问​​本地文件系统上的文件。

    【讨论】:

    • 我愿意接受任何建议,还有其他方法吗?
    • 您需要以这种方式加载它们吗?它不能在网络服务器上运行吗?
    • 这是一个很好的问题,但我想在本地测试它们的原因是因为我打算将它们也保存在本地 Android 设备上。所以不幸的是,他们需要能够在本地运行。
    • 嗯,我明白你的意思了。我不确定如何做到这一点。谷歌搜索时间!
    猜你喜欢
    • 2023-01-18
    • 2020-11-16
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    相关资源
    最近更新 更多