Safari 和 Firefox 中的 HTML5 视频(mp4 和 ogv)问题 - 但 Chrome 一切正常

发布于 2024-08-29 03:41:50 字数 953 浏览 7 评论 0原文

我有以下代码:

<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 所指的位置到“错误”事件和“错误”属性。看起来“错误”事件很快就被抛出了,而且当时没有错误属性。有谁知道如何诊断问题?

I have the following code:

<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>
  • I'm using Rails (Mongrel in development and Mongrel+Apache in production).
  • Chrome (Mac and Win) can play either file (tested by one then the other source tags) whether locally or from my production servers.
  • Safari (Mac and Win) can play the mp4 file fine locally but not from production.
  • Firefox 3.6 won't play the video in either OS. I just get a grey cross in the middle of the video player area.
  • I've made sure that both Mongrel and Apache in each case have the right MIME types set.
  • From Chrome's results I know there is nothing inherently wrong with my video files or the way the files are being asked for or delivered.

For Firefox I looked at https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox where it refers to an 'error' event and an 'error' attribute. It seems the 'error' event is thrown pretty well straightaway and at that time there is no error attribute. Does anyone know how to diagnose the problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

み格子的夏天 2024-09-05 03:41:50

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

The HTTP Content-Type for .ogg should be application/ogg (video/ogg for .ogv) and for .mp4 it should be video/mp4. You can check using the Web Sniffer.

自由范儿 2024-09-05 03:41:50

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

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

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

Add these lines in your .htaccess file and it will work for all browsers. Works for me.

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

If you dun have .htaccess file in your site then create new one :) its obvious i guess.

风情万种。 2024-09-05 03:41:50

顺便说一下,.ogv 文件是视频,因此“video/ogg”,.ogg 文件是 Vorbis 音频,因此“audio/ogg”和 .oga 文件是一般 Ogg 音频,因此“audio/ogg”也是如此。在 Firefox 中检查并工作。所有音频或视频用途均已弃用“application/ogg”。请参阅http://www.rfc-editor.org/rfc/rfc5334.txt

Incidentally, .ogv files are video, so "video/ogg", .ogg files are Vorbis audio, so "audio/ogg" and .oga files are general Ogg audio, so also "audio/ogg". Checked in Firefox and work. "application/ogg" is deprecated for all audio or video uses. See http://www.rfc-editor.org/rfc/rfc5334.txt

如日中天 2024-09-05 03:41:50

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

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

也许您应该将 codec 信息与 " 实体括起来,而不是实际的引号和 type code> 属性用引号而不是撇号。

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

I see in the documentation page an example like this:

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

Maybe you should enclose the codec information with " entities instead of actual quotes and the type attribute with quotes instead of apostrophes.

You can also try removing the codec info altogether.

岁月染过的梦 2024-09-05 03:41:50

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

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

Just remove the inner quotes - they confuse Firefox. You can just use "video/ogg; codecs=theora,vorbis".

Also, that markup works in my Minefiled 3.7a5pre, so if your ogv file doesn't play, it may be a bogus file. How did you create it? You might want to register a bug with Firefox.

梦冥 2024-09-05 03:41:50

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

Just need to change one letter:),
rename 640x360.ogv to 640x360.ogg,
it will work for all the 3 browers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文