【发布时间】:2011-02-08 06:19:48
【问题描述】:
我有以下代码:
<video width="640" height="360" controls id="video-player" poster="/movies/poster.png">
<source src="/movies/640x360.m4v" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
<source src="/movies/640x360.ogv" type='video/ogg; codecs="theora, vorbis"'>
</video>
- 我正在使用 Rails(开发中使用 Mongrel,生产中使用 Mongrel+Apache)。
- Chrome(Mac 和 Win)可以在本地或从我的生产服务器播放任一文件(由一个然后另一个源标签测试)。
- Safari(Mac 和 Win)可以在本地正常播放 mp4 文件,但在生产环境中不能。
- Firefox 3.6 无法在任一操作系统中播放视频。我只是在视频播放器区域的中间看到一个灰色的十字。
- 我已确保 Mongrel 和 Apache 在每种情况下都设置了正确的 MIME 类型。
- 从 Chrome 的结果来看,我知道我的视频文件或请求或传递文件的方式本身没有任何问题。
对于 Firefox,我查看了 https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox,它指的是一个“错误”事件和一个“错误”属性。似乎“错误”事件被直接抛出,并且当时没有错误属性。有谁知道如何诊断问题?
【问题讨论】:
-
尝试在 Firefox 中打开视频文件本身,看看它是否可以播放。
-
这可能是一个线索。无论我在本地尝试还是从生产服务器尝试,都会提示我下载文件。听起来可能像 MIME 问题..?但是我已经检查并检查了这些是为 .ogv 设置的。嗯。我将如何检查 Apache 是否注意 MIME 设置..?有什么线索吗?
-
刚刚在 Chrome 中尝试过(视频播放良好),如果我将 URL 放在位置栏中,这也会下载文件...
-
无论我在本地尝试还是在服务器上尝试都是如此......
-
要获取 MIME 类型,请执行 curl
并在几秒钟后停止它。它将打印出发送的标题。这总是有效的,而 Firebug 等不打印下载文件的 MIME。
标签: firefox video safari html ogg-theora