哪些用户代理支持HTML5 <video>标签中的mp4 / H.264视频?</video>

时间:2011-02-14 18:27:44

标签: html5 html5-video mp4 h.264 user-agent

哪些用户代理支持HTML5 video标记,使用mp4作为容器,使用H.264作为编解码器?有没有人为此提出正则表达式?

更新 感谢大家的评论。我忘了提,我最好在后端做这个,这意味着像现代化器这样的东西不行。

2 个答案:

答案 0 :(得分:5)

桌面:

  • IE6-8:无
  • IE9-10:H.264
  • Chrome:WebM和H.264
  • Firefox 3.6:Ogg Theora
  • Firefox 4+:WebM
  • Opera:WebM
  • Safari:H.264

移动:

  • iOS:H.264
  • Chrome Android:H.264和WebM
  • Firefox Android:H.264和WebM
  • Windows Phone 7.5 - 8:H.264
  • Opera 12:H.264

有关详细信息,请参阅HTML5 Test。注意:Android的默认浏览器(称为“浏览器”)没有列出对任何编解码器的支持,但我认为由电话供应商决定这一点,我很确定你可以保证H.264作为硬件加速该编解码器往往内置于移动处理器中。此外,关于Firefox for Desktop,它正在获得H.264支持later this year

编辑:上面的支持矩阵在2013/03/22更新


因此,您需要支持的两种视频格式是WebM和H.264。但似乎H.264越来越成为网络视频的事实标准。

不要使用用户代理嗅探,这是出了名的不可靠和容易出错。有更好的方法可以检测<video>标记支持。

例如,看看Modernizer可以写下:

if (!Modernizr.video)
{
    // Implement some Flash fallback
}

或者,如果您明确检测到特定的编解码器......

if (!Modernizr.video || (Modernizr.video && !Modernizr.video.h264))
{
    // Flash fallback here
}

答案 1 :(得分:1)

不确定正则表达式,虽然我认为您不需要用户代理嗅探 - <video>元素旨在包含多种格式的视频引用,以便用户代理可以播放他们支持。请参阅HTML a great example的HTML5视频章节。

潜入HTML5也有a good list of browser support of HTML5 video