我希望通过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。在域标题下方:
WEBVTT HEADER
Remote Address:137.117.84.54:80
Request URL:http://attendedstorage.com/test3.vtt
Request Method:GET
Status Code:404 Not Found
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Host:attendedstorage.com
Pragma:no-cache
Referer:http://attendedstorage.com/videotest3.html
User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/34.0.1847.116 Safari/537.36
Response Headersview source
Content-Length:103
Content-Type:text/html
Date:Sun, 20 Apr 2014 23:49:36 GMT
Server:Microsoft-IIS/8.0
X-Powered-By:ASP.NET
MP4 VIDEO HEADER
Request URL:http://attendedstorage.com/test3.mp4
Request Headers CAUTION: Provisional headers are shown.
Accept-Encoding:identity;q=1, *;q=0
Cache-Control:no-cache
Pragma:no-cache
Range:bytes=0-
Referer:http://attendedstorage.com/videotest3.html
User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/34.0.1847.116 Safari/537.36
更新:我已经修改了http://attendedstorage.com/videotest3.html的版本,以测试将视频链接到轨道(这意味着这不应与http://attendedstorage.com/相同的域来源) test3.mp4和https://attendedstorage.com/test3.vtt。以下是 Chrome 控制台的内容:
InText track from origin 'https://assetsattendedstorage.com'has been blocked from loading:
Not at same origin as the document, and parent of track element does not have a 'crossorigin'
attribute. Origin 'http://attendedstorage.com' is therefore not allowed access.
videotest3.html:1
GET http://attendedstorage.com/test3.vtt 404 (Not Found) videotest3.html:1
这使我认为要解决上述问题的第 3 部分),如果那是“track 元素的父级”,我还需要在 azure 网站中设置 http 标头 - 我正在尝试阅读 Azure Powershell 但是我更喜欢通过 GUI 或工具(如果存在允许我更改 Attendstorage.com azure 网站中的 http 标头)的工具,因为我需要一段时间才能了解 Powershell。我仍然不明白为什么在这种情况下需要这样做,因为视频和曲目来自与 html 文件相同的域。由于我确实在 blob 中启用了 CORS,但我无法使用工具来更改 blob 中的 http 标头“Access-Control-Allow-Origin:*”,因此这也仍然存在第 2 部分)问题。