2011-04-04 86 views
4

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

有一个简单的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的网络检查器中,我看到下面的HTTP标头用于的.ogv视频文件请求:

GET /my_video.ogv HTTP/1.1

的User-Agent:歌剧院/ 9.80(Macintosh上;英特尔Mac OS X 10.6.7; U; ru)Presto/2.7.62版本/ 11.01

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

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

任何想法?

+1

服务器并没有真正关注只接受内容协商的“接受”,当相同的URL可以表示更多的资源并且它选择最好的访问。 – vbence 2011-04-04 09:26:30

+0

要添加到vbence的评论,“Accept”头可能不是问题。以我的'

+0

你可以在本地播放文件吗? - *还可以考虑使用WebM和H.264作为您的两个fromat,以获得最大的兼容性。* – vbence 2011-04-04 09:30:02

回答

0

我已经想通了。

我有MIME类型,在YAML文件中列出的,应在杂种加载指定:

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

我只拥有 “的.ogv:视频/ OGG” 在那里。但是,根据HTML5 video problem,歌剧需要更多:

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

当我将这些类型,Opera会播放视频的.ogv。

谢谢。

+0

有趣。为什么'.oga:audio/ogg'会影响'.ogv'文件的传输方式。 – vbence 2011-04-04 10:12:18

+0

我刚刚添加了这些类型,并且Opera发挥了它的作用。 – AntonAL 2011-04-04 10:51:31

+0

...但现在不再工作;) – AntonAL 2011-04-04 10:51:51

1

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

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

这是video是否适合您? 你有链接到你想播放的视频吗?