InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

HTML5、H.264及Flash综述

作者 Alex Blewitt 译者 张龙 发布于 2010年2月11日

领域
语言 & 开发,
架构 & 设计,
运维 & 基础架构,
企业架构
主题
互联网 ,
架构 ,
Web 2.0
标签
Flash ,
Adobe ,
Google ,
Apple ,
HTML 5

上周,InfoQ报道了一篇新闻:YouTube发布HTML5视频Beta版,使用H.264格式。紧接着,Vimeo也发布了HTML5 Beta,同样使用了H.264作为视频codec。

Mozilla的开源布道者Chris Blizzard谈到了他们为何要坚持使用Ogg,他用GIF这个专利解释了什么地方可能会出问题。GIF专利(那时还是免费的)所涉及的图像格式成为了Web事实上的标准,随后其目标就变成了敲诈勒索(该专利在2003年和2004年过期了)。在那时,有人创建了免费的PNG格式以替代GIF,现在PNG已经成为Web图象事实上的标准了。

H.264的许可是由MPEG-LA发放的。Mozilla工程部副总裁Mike Shaver说使用H.264但却不支付协议费用是违法的。一开始可以延期支付在网络上使用H.264所产生的协议费用,期限为今年底;最近又延长到了2015年底;但协议费用依旧会影响到其他方面,受牵连的还有对H.264进行解码的硬件(Apple和Google都为其产品购买了H.264许可,而协议费用是有上限的,这就意味着他们所支付的协议费涵盖了其所有的产品)。

毋庸置疑,Apple为H.264所付出的要超过任何一家厂商(需要注意的是,H.264也是蓝光规范的一部分),这是因为其生产的电脑带有H.264硬件加速,同时还有众多的手持设备(iPhone、iPod Touch以及新近发布的iPad)也要能显示H.264视频。事实上,YouTube之所以首先支持H.264而不是Flash的重要原因在于Apple的坚持,因为Apple为其iPhone YouTube应用提供了低分辨率的H.264视频流。

随着上周iPad的发布,争论又到达了一个新的高度。细心的读者可能会发现纽约时报的Flash插件图标显示为缺失;这并不令人感到惊讶,因为iPhone还不支持Flash。乔布斯在最近的Apple Town Hall上公开表示iPhone与iPad绝不会支持Flash:

Adobe简直太懒了。他们本来可以做的更好,但却没有去做。他们做事情的方式与Apple完全不同,比如Carbon。Apple之所以不支持Flash是因为Flash的bug太多了。Mac之所以会崩溃很大一部分原因是Flash造成的。没人会用Flash,全世界都在向HTML5迈进。

Kevin Lynch则说事实并非如此:

关于崩溃这个问题,我想说的是我们所发布的Flash绝不会带有已知的会导致崩溃的bug,如果真的有这样的bug存在,Flash也不会得到这么广泛的应用。

关于性能问题,在相同的硬件条件下,Windows上的Flash Player一直以来都要比Mac上的快,另外我们也尽最大努力保证运行在不同操作系统上的Flash代码是一致的。在Flash Player 10.1中,我们转向了CoreAnimation,它会进一步降低CPU的使用率,我们相信在其帮助下,Mac上的图形渲染速度会超过Windows。

视频渲染是我们非常重视的一个领域,比如说,1.8 Ghz Mac Mini上的Safari播放480p视频时的CPU使用率为34%,而Windows仅为16%(同样的硬件条件下运行在BootCamp中)。在Flash Player 10.1中,我们对Mac上的视频渲染进行了优化,期望能降低一半的CPU使用率,这样Mac和Windows对视频渲染的速度就差不多了。

一些草根用户已经发起了请愿,请求为iPhone/iPad增加Flash支持,然而iPhone在过去几年中即便是不支持Flash也发展地非常好,鉴于这个原因,我觉得iPhone还是不太可能增加Flash支持。来自Daring Fireball的John Gruber问到谁能解决这个问题呢?现在我们已经将球踢到了Apple那边。

TheFlashBlog将几个知名的网站截图放到了站点上,比较了在使用Flash与不使用Flash的情况下这些网站都是什么样子的。在本应该显示Flash的地方,这些站点用Photoshop画了一些图占据了Flash插件的位置。然而,当用户浏览这些站点时(提供了针对移动设备的网页,使用了H.264),他根本就看不到任何的提示信息。Kendell Geiner在iPhone上也做了同样的试验,Hulu和Farmville根本不行,依然显示之前的提示信息。

在过去的两周内,有两个动力促使一些视频网站从Flash迁移到HTML5:首先就是使用新技术(当然就是Apple iPad了,但同样的情况依旧出现在Apple iPhone上)的一些高端视频站点。然而未来到底哪种视频codec会占据统治地位依旧是个未知数。可能出现的情况是一些站点会使用兼容于H.264的视频,而免费站点(比如Wikimedia)依旧会使用Ogg。最终,服务于iPhone/iPad(到目前为止提供了最棒的移动浏览体验)的站点会推进H.264的普及;视频将会代替Flash,而Google的Chrome浏览器则会蚕食掉Firefox的优势(主要是因为Chrome既能播放Ogg,也能播放H.264)。除非Firefox事先安装好某些私有的视频codec或者MPEGLA为软件解码商提供一个通用的协议,否则围绕着最终的HTML5视频codec的争论将永远不会停止。

查看英文原文:HTML5, H.264 and Flash roundup

译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。

HTML5 发表人 see sai 发表于
  1. 返回顶部

    HTML5

    发表人 see sai

    有个疑问,如果浏览器支持播放video的话,那势必要安装codec插件,这样浏览器不就会越来越大和越来越不安全?(第3方解码器).

深度内容

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。

解析JDK 7的动态类型语言支持

随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。

Java Remoting远程服务(下)

随着互联网应用的发展,Java分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。