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

qry*_*yss 42 safari video firefox 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>
Run Code Online (Sandbox Code Playgroud)
  • 我正在使用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,其中引用了"错误"事件和"错误"属性.似乎'错误'事件非常直接抛出,当时没有错误属性.有谁知道如何诊断问题?

hsi*_*nen 40

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

  • @hsivonen那么你得到的视频标签究竟是什么来解决firefox和safari的问题呢?如果您不打算如何描述,为什么要发布问题? (6认同)
  • 我有一个Apache配置错误,Firefox的问题确实是由于发送了错误的MIME类型.谢谢! (3认同)
  • 如果您使用Apache,解决方案是使用配置Apache发送正确的Mime类型,或者只使用带有以下行的.htaccess文件:AddType video/ogg .ogv (2认同)

Sal*_*lam 31

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

AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm
Run Code Online (Sandbox Code Playgroud)

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