HTML5视频(mp4和ogv)在Safari和Firefox中存在问题,但Chrome还是不错的
我有以下代码:HTML5视频(mp4和ogv)在Safari和Firefox中存在问题,但Chrome还是不错的,firefox,video,safari,html,ogg-theora,Firefox,Video,Safari,Html,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; c
<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文件,但不能在生产环境中播放
- Firefox3.6不会在这两个操作系统中播放视频。我只是在视频播放器区域中间有一个灰色十字。
- 我已经确保Mongrel和Apache在每种情况下都设置了正确的MIME类型
- 从Chrome的结果中,我知道我的视频文件或文件被索取或传送的方式没有本质上的问题
对于Firefox,我查看了它引用“错误”事件和“错误”属性的位置。“error”事件似乎是直接抛出的,当时没有error属性。有人知道如何诊断问题吗 我在文档页面中看到这样一个示例:
<source src="foo.ogg" type="video/ogg; codecs="dirac, speex"">
也许您应该将编解码器
信息用“
实体而不是实际引号括起来,将类型
属性用引号而不是撇号括起来
您也可以尝试完全删除编解码器信息。对于.ogg,HTTP内容类型应该是application/ogg(video/ogg for.ogv),对于.mp4,它应该是video/mp4。您可以检查使用。只需删除内部引号-它们会混淆Firefox。您只需使用“video/ogg;编解码器=theora,vorbis”
另外,该标记在我的Minefield 3.7a5pre中有效,因此如果您的ogv文件不播放,它可能是一个伪造文件。您是如何创建的?您可能想在Firefox中注册一个bug。顺便说一句,.ogv文件是视频,所以“video/ogg”、.ogg文件是Vorbis音频,所以“audio/ogg”和.oga文件是通用的ogg音频,所以“audio/ogg”也是通用的“。已签入Firefox并开始工作。所有音频或视频使用都不推荐使用“应用程序/ogg”。请参见只需更改一个字母:), 将640x360.ogv重命名为640x360.ogg,
它将适用于所有3个浏览器。将这些行添加到.htaccess文件中,它将适用于所有浏览器。对我有用
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm
如果你的站点中没有.htaccess文件,那么创建一个新的:)我想这很明显。尝试在firefox中打开视频文件,看看它是否播放。这可能是一个线索。无论我是在本地还是在生产服务器上尝试,系统都会提示我下载该文件。听起来可能是个哑剧问题。。?但是我已经检查过了,检查过了,这些都是为.ogv设置的。吼叫声如何检查Apache是否注意MIME设置。。?有什么线索吗?只是在Chrome上试过了(视频播放效果很好),如果我把URL放在位置栏中,它也会下载文件……无论我是在本地还是在服务器上尝试,都是如此……要获取MIME类型,请执行curl,几秒钟后停止。它将打印出发送的标题。这总是有效的,而Firebug等不会为下载的文件打印MIME。谢谢,bogdanvursu。非常感谢。不过,恐怕这两个建议都没用(如果外引号是双引号,则需要将内引号转义为"。如果外部引号是单引号,则不需要转义内部双引号。啊哈。我使用Web嗅探器检查了这一点,我得到的内容类型为application/octet stream。因此对于Firefox来说,它看起来像是MIME类型的问题。谢谢-我将看看是否可以从这里解决它。不过,Safari仍然存在问题。。。 :(我有一个Apache错误配置,Firefox问题确实是由于发送了错误的MIME类型造成的。谢谢!我现在也发现了我的Safari问题-另一个错误配置。所有问题都解决了!谢谢,伙计们。@Xivonen那么,你用Firefox和Safari解决问题的视频标签到底是什么?为什么要发布你修复的帖子如果您不费心描述如何使用,那么问题就出在哪里了?如果您使用Apache,解决方案是使用配置Apache发送正确的Mime类型,或者简单地使用一个.htaccess文件和以下行:AddType video/ogg.ogv内部引号是必需的不正确ogg不受iSadly支持,它对我不起作用。我正在尝试m4v视频。你能给他们推荐一下像.ogv.mp4一样的吗。webm@NJInamdar第二次使用
AddType video/mp4.mp4.m4v
line@AakilFernandes:谢谢你的答复。但遗憾的是,它没有起作用(