【发布时间】:2015-03-15 12:47:08
【问题描述】:
我想我已经用尽了所有方法来尝试解决 HTML5 视频无法在我的网站上播放的问题。我有一个简单的演示页面(如下)来演示我的位置。我最初有一个适用于不同浏览器的各种格式的视频,但为了更容易测试,我现在只使用 webm 并在 Chrome(Mac OSX Yosemite 上的版本 41.0.2272.89(64 位))中进行测试。您将在上面的页面中看到基本标记。
Demo 1 - .webm video hosted locally on the server - No video playing
我已经测试了以下内容:
- 视频文件本身可访问(cURL 显示 200 响应标头)
- 视频文件具有正确的 MIME 类型(cURL 显示由 .htaccess 设置的视频/webm)
- 视频文件具有 ok 权限 (644)
...所以除非我遗漏了一些明显的东西,否则标记是好的(对于我正在测试的浏览器)并且文件本身是可用的并且格式正确。
好的,那么问题一定出在文件本身上吗?也许是编解码器问题或其他什么,也许是压缩中损坏的东西?好吧,我不这么认为......
该文件来自外部来源,如果我直接从第三方服务器嵌入它,它可以正常工作。看看这个演示,除了视频文件在外部托管之外,它的标记是相同的:
Demo 2 - Same markup but video hosted elsewhere
对我来说很好用!
所以要确认一下,每种情况下的标记都是相同的,外部托管的文件加载正常,从外部源下载并上传到我的服务器并在本地引用时完全相同的文件不起作用。
我只能认为我在这里的测试已经排除了视频文件本身以及 HTML 的问题。一定是文件解析的服务器配置问题吗?但是,对于 200 响应,通过 .htaccess 添加了正确的 MIME 类型和正确的权限,我不知道还能尝试什么。
其他人都看到同样的问题吗?我还应该检查什么?
谢谢大家!
【问题讨论】:
-
刚刚注意到一些事情......虽然 cURL 显示本地托管视频文件的状态为 200,但在 Chrome 的“网络”选项卡的开发人员工具中,该文件未加载并显示“ERR_EMPTY_RESPONSE”。什么可能导致这种情况?我对开发者工具中的调试不熟悉。
标签: html video mime-types mp4 webm