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

更新:
谢谢大家的评论。我忘了提及,我最好在后端执行此操作,这意味着诸如 Modernizer 之类的东西将不起作用。

最佳答案

桌面:

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

  • 移动的:
  • iOS:H.264
  • Chrome Android:H.264 和 WebM
  • Firefox Android:H.264 和 WebM
  • 适用于 Windows Phone 7.5 - 8 的
  • IE:H.264
  • 歌剧 12:H.264

  • 有关更多信息,请参阅 HTML5 Test。注意:Android 的默认浏览器(称为“浏览器”)没有列出对任何编解码器的支持,但我认为这由手机供应商决定,我很确定你可以保证 H.264 作为硬件加速该编解码器倾向于内置于移动处理器中。同样关于桌面版 Firefox,它正在获得 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
    }
    

    关于html - 哪些用户代理支持 HTML5 <video> 标签中的 mp4/H.264 视频?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4995829/

    10-11 14:27