【问题标题】:Opera and HTML5 videoOpera 和 HTML5 视频
【发布时间】:2011-07-29 00:59:09
【问题描述】:

在我的网站上,我有 mp4 和 ogv 格式的视频。 mp4 在 webkit 浏览器中播放。 ogv 在 Firefox 中播放,但在 Opera 中不想播放。

有一个简单的 HTML:

<video poster="my_video.jpg" controls="controls">
    <source src="my_video.mov" type="video/mp4" />
    <source src="my_video.ogv" type="video/ogg; codecs='theora, vorbis'" />
</video>

当我打开一个页面时,我看到带有海报的视频元素,但是当我单击播放按钮时,什么也没有发生。我没有看到加载进度,一切都保持原样。 但是 Firefox 玩得很好。

在 Opera 的网络检查器中,我看到 .ogv 视频文件请求的以下 HTTP 标头:

GET /my_video.ogv HTTP/1.1

用户代理:Opera/9.80 (Macintosh; Intel Mac OS X 10.6.7; U; ru) Presto/2.7.62 Version/11.01

接受:text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, /; q=0.1

“接受”部分让我感到困惑。为什么它接受这些视频内容类型?

有什么想法吗?

【问题讨论】:

  • 服务器并不会真正关注Accept,仅在内容协商时,相同的 URL 可以代表更多的资源,它会选择最好的访问。
  • 添加到 vbence 的评论中,Accept 标头可能不是问题。根据我使用&lt;video&gt; 的经验,可能存在一些兼容性问题。查找.canPlayType
  • 可以本地播放文件吗? - 还可以考虑使用 WebM 和 H.264 作为您的两个 fromat,以获得最大的兼容性。
  • 是的,i Opera 在本地播放文件。

标签: html video cross-browser opera ogg-theora


【解决方案1】:

对于 Opera,您实际上只需要将 these two mime types 添加到 Apache 或您将使用的任何服务器。

AddType video/ogg .ogv
AddType audio/ogg .oga

这是video 为您工作吗? 您是否有指向您尝试播放的视频的链接?

【讨论】:

    【解决方案2】:

    我想通了。

    我有 MIME 类型,列在 YAML 文件中,应该在 Mongrel 加载时指定:

    /usr/bin/mongrel_rails -m /path_to_mime_types.yml
    

    我那里只有“.ogv: video/ogg”。但是,根据HTML5 video problem 的说法,Opera 需要更多:

    .ogv: video/ogg
    .oga: audio/ogg
    .ogg: application/ogg
    .webm: video/webm
    .mp4: video/mp4
    

    当我添加这些类型时,Opera 将播放 .ogv 视频。

    谢谢。

    【讨论】:

    • 有趣。为什么.oga: audio/ogg 会影响.ogv 文件的服务方式。
    • 我刚刚添加了这些类型,Opera 就可以玩了。
    • 如果可以,请检查响应标头。服务器发送的内容类型是什么?
    • content-type 是“video/ogg”(用 curl 检查)。我不知道问题是什么,但肯定在服务器端(Rails),因为本地文件正在播放。
    猜你喜欢
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 2013-05-10
    • 2016-09-24
    相关资源
    最近更新 更多