42

我有以下代码:

<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,它指的是“错误”事件和“错误”属性。似乎“错误”事件被直接抛出,并且当时没有错误属性。有谁知道如何诊断问题?

4

6 回答 6

40

.ogg 的 HTTP 内容类型应为 application/ogg(.ogv 为 video/ogg),.mp4 应为 video/mp4。您可以使用Web Sniffer进行检查。

于 2010-04-15T10:09:54.050 回答
31

在您的 .htaccess 文件中添加这些行,它将适用于所有浏览器。为我工作。

AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm

如果您的站点中没有 .htaccess 文件,请创建一个新的 :) 我猜这很明显。

于 2011-10-11T14:35:25.463 回答
3

顺便说一句,.ogv 文件是视频,所以“video/ogg”,.ogg 文件是 Vorbis 音频,所以“audio/ogg”和 .oga 文件是一般的 Ogg 音频,所以也是“audio/ogg”。签入 Firefox 并工作。“应用程序/ogg”已被所有音频或视频使用弃用。见http://www.rfc-editor.org/rfc/rfc5334.txt

于 2010-04-19T23:53:24.873 回答
-1

我在文档页面中看到了这样的示例:

<source src="foo.ogg" type="video/ogg; codecs=&quot;dirac, speex&quot;">

也许您应该用实体而不是实际引号将codec信息括起来,并用引号而不是撇号将属性括起来。&quot;type

您也可以尝试完全删除编解码器信息。

于 2010-04-15T08:00:55.517 回答
-1

只需删除内部引号 - 它们会使 Firefox 感到困惑。您可以只使用“video/ogg;codecs=theora,vorbis”。

此外,该标记在我的 Minefiled 3.7a5pre 中有效,因此如果您的 ogv 文件无法播放,则可能是假文件。你是如何创建它的?您可能想在 Firefox 中注册一个错误。

于 2010-04-19T23:50:21.853 回答
-7

只需更改一个字母:),将 640x360.ogv 重命名为 640x360.ogg,它将适用于所有 3 个浏览器。

于 2010-12-07T22:15:45.357 回答