Safari和Firefox中的HTML5视频(mp4和ogv)问题 - 但Chrome一切都很好

时间:2010-04-15 07:37:02

标签: firefox video safari html5 ogg-theora

我有以下代码:

<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,其中引用了“错误”事件和“错误”属性。似乎'错误'事件非常直接抛出,当时没有错误属性。有谁知道如何诊断问题?

6 个答案:

答案 0 :(得分:40)

.ogg的HTTP Content-Type应该是application / ogg(视频/ ogg用于.ogv),对于.mp4应该是video / mp4。您可以使用the Web Sniffer进行检查。

答案 1 :(得分:31)

在.htaccess文件中添加这些行,它适用于所有浏览器。适合我。

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

如果您在您的网站中拥有.htaccess文件,那么请创建一个新的:)我很明显。

答案 2 :(得分:3)

顺便提一下,.ogv文件是视频,所以“video / ogg”,.ogg文件是Vorbis音频,所以“audio / ogg”和.oga文件是一般的Ogg音频,所以也是“audio / ogg”。检查Firefox并工作。对于所有音频或视频用途,不推荐使用“application / ogg”。见http://www.rfc-editor.org/rfc/rfc5334.txt

答案 3 :(得分:-1)

我在文档页面中看到了这样一个例子:

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

也许您应该使用codec个实体而不是实际引号附加&quot;个信息,并使用引号而不是撇号附加type属性。

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

答案 4 :(得分:-1)

只需删除内部引号 - 它们会混淆Firefox。你可以使用“video / ogg; codecs = theora,vorbis”。

此外,该标记适用于我的Minefiled 3.7a5pre,因此如果您的ogv文件无法播放,则可能是虚假文件。你是怎么创造它的?您可能想要在Firefox中注册一个错误。

答案 5 :(得分:-7)

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