是的,你没看错。我看“HTML5是Flash杀手”,“Flash过时了”之类的句子都看到想吐了。所以我在这里说说自己对“Apple vs Adobe”之间的口角,以及“Flash vs HTML5”谁更优秀的看法。并且解释一下,为什么在我看来,应是FlashPlayer10.1将灭掉HTML5。首先申明,我有一个Mac笔记本,一个Windows系统的笔记本,一堆Windows桌面软件,还有一个iPhone。我很喜欢它们,特别是 iPhone,我认为这是一个真正的发生在手机上的革命。你知道,我是一个视频专家,所以我将重点介绍与视频有关的方面
Flash Player 10.1的现状
Flash是一项伟大的技术。具有在互联网上近15年的成功经验,但也不能否认,也有很多人滥用Flash技术比如泛滥到令人厌恶的小广告,他们败坏了Flash的名声。
但是怎么能够就此否定它的强大:
- AS3语言的特点:快速(编译),简洁,强大的面向对象的语言。
- 访问麦克风和实时影音的应用程序,或者增强显示应用。
- 操作位图,矢量图形,音频,视频,文本,xml,二进制数据。
- 通过RTMP,HTTP,AMF,SOCKET与多种服务端进行通讯的技术。
- 强大而分工明确的开发工具FlashCS4与Flex。
- 支持H263, VP6, H264, AACv2, MP3, Speex, NellyMoser's Asao, MP3, FLV, MP4等音视频格式。
- 能够创建p2p应用,实时应用(FMS)。
- 3D支持,图片滤镜,pixel bender。
- 等等,等等等,等等等等...
这所有的技术都能以浏览器或者桌面(Air)的形式运行在Windows,Mac,Linux下。未来,会有更多的特性会应用在手机上(Flash Lite 3)。
如大家说见,有很多Flash的技术都是开放的,例如:SWF, FLV, M4V, AMP, Spark, Speex, H.264, RTMP (规范与文件格式)。
相信我:Flash平台是巨大的
不过我们都知道,Flash的视频播放还未完善。主要的问题在Mac上,相对于XP而言,Flash在Vista上也有些瑕疵。在Mac上观看HD视频真是个问题,尤其是在Safari浏览器下。这是我对Flash最不满意(在某些情况下)的问题之一。
事实上,互联网上的视频是一个新的领域,我要感谢Flash(75%的视频使用它),现在我们每天都能接触更多更好的视频。那么,究竟为什么,我的HD视频在WindowsXP下只占40%的CPU,而在OS X下却吃掉了所有的CPU?很自然的,Mac用户需要一个解决方案。但在此之前,他们会责怪Flash性能不好,问题很多而不管真正的原因(可以读读这篇文章关于发生这些的原因http://www.kaourantin.net/)。
但是还有两个新的领域的需求是呈爆炸性增长的:手机领域,未来的电视领域。
iPhone出现后改变了移动领域:大家都想多点触摸,geolocalization,感应器,更易于使用,流行的音频和视频解码器,高效的利用互联网,等等……这不仅仅是iPhone的领域,任何智能手机平台,都想超越iPhone的领导地位(Android, Symbian, RIM, Maemo, WM7 or WebOS)。
这导致我们认为“iPhone上没有Flash”。Flash10没有设计用于移动设备,它需要更强的处理能力和更多的内存。它不能使用移动设备的高级特性(多点触摸)。另一方面,Flash Lite3不能弥补这一高端市场。但与此同时,互联网上已经存在很多Flash应用,并且高端智能手机不能显示视频或者动画是一个问题:本该展示绚丽的用户体验的地方却出现一个极其陋的蓝色框。
那么,让我们看看HTML5:进化的HTML支持音/视频,它可以通过JavaScript控制,以及利用canvas技术进行位图与矢量的处理和生成动画。这可以替代Flash在移动设备与机顶盒上的作用吗?是的,它可以,但只是一部分。就像你我必须为iPhone的web应用做一个FlashPlayer的替补。
在我看来现在的HTML5就是Flash的替补,怎么可能是Flash杀手,就像某些人描述的那样:
- 它还只是一个草案,很显然离标准化还远。
- 它已经被证明,在解释与标准化上存在冲突,例如视频编码。
- 它只能提供一小部分Flash的功能。
- 它使用js,必然纠结于调试和性能方面的痛苦。
- 它没有对源代码提供保护。
- 它不支持目前的IE。
- FF只支持Theora视频编码,这和H264的差距很大。
那么,总结现状,今天我们在互联网和视频的探索上有三个领域:电脑,手机和电视。
电脑:Flash的装机量超过98%,是“公认”的视频传输标准。在电脑中,Windows操作系统以80%占绝对的统治地位,Flash在Windows下性能表现良好。Mac占15%,Flash应该也能够表现的更好。但是Mac为什么放弃了Flash而选择了HTML5?比起重复开发,分散特点,控制只有FLASH能提供的东西,去寻找一个解决问题的方案才是上策。
手机:Flash Lite是精简版的Flash。而iPhone由于各种各样的政治和技术上的原因不支持Flash,所以你直到现在仍然,被强迫,被看到,HTML5代替Flash来展示动画,位图操作和视频。
网络电视和机顶盒:
一个新的市场,它需要一个视频传输平台,难道HTML5能胜任?
Flash Player 10.1介绍
幸运的是,Adobe公司在过去的两年内一直致力于预测客户需求和市场趋势。它联合了互联网,手机和电子市场大部分重要的合作伙伴开展Open Screen Project(开放屏幕计划?),使得Flash无处不在:移动设备,机顶盒,媒体播放器,电视机。
期待已久,FlashPlayer10.1诞生了。
在这里,我不想去评论那些新奇有趣的功能,但除了这条:在低处理能力,内存和电池消耗方面做了优化。
我明白了,这一联合努力的成功能打破他人的霸权主义梦想。但是让我们兴奋的是,Flash不仅仅是遍布电脑,它将会遍布每一个能联网的设备。最终每一个人无论在哪里都能获得一个切实的用户体验。
桌面版本(Mac和Windows)的FlashPlayer10.1已经发布到beta3,非常接近最终版。而Android的版本处于内部测试阶段,但也非常接近最终版了。几个月后我们将会在WebOS,WM7,RIM和一定数量的机顶盒上体验到完整版本的FlashPlay10。
让我们来看看下面的视频:
http://www.flashstreamworks.com/archive.php?post_id=1266529762
http://theflashblog.com/?p=1781
http://theflashblog.com/?p=1792
http://www.adobe.com/devnet/flas ... e_demos_fp10.1.html
今天,我们已经能够测试电脑上的FlashPlay10.1都有什么改变,只需要从Adobe的网站http://labs.adobe.com/technologies/flashplayer10/上下载并安装beta3版本的FlashPlayer10.1。
在Windows和Mac上测试FlashPlayer10.1
我已经在不同的操作系统上用FlashPlayer10.1beta3测试了各种版本的SD和HD内容,结果令人惊讶:
1. 在Windows XP下(最普及的操作系统)一直有些小问题,但是现在我在一台Core 2 Quad @ 2.4Ghz,24寸显示器的电脑上看HD视频CPU的消耗低于20%。FlashPlayer10.1在IE(7或者8)与FireFox上的表现十分接近。FireFox解码HD视频通常需要10%的CPU。这些都还没有通过硬件加速支持H264。H264在FlashPlayer10.1中将和GPU成为最佳组合。
2. FlashPlayer9和10在Windows Vista下,IE和FireFox中播放HD曾经有些小问题,特别是在全屏播放的时候。但是现在,10.1无论是在Windows下全屏,还是在任何浏览器下,表现都十分稳定。在一个2.1 GHz Core2Duo Sony Vaio解码大约消耗40%的CPU,并且播放很流畅(同样没有H.264的硬件加速)。
3. 在Windows7 64位操作系统下表现非常好,在装有bootcamp的MacBook(2.2 GHz Core2Duo)上,HD解码低于30%(可能因为Nvidia 9400M的硬件加速)。在新的10.1中,零星丢帧与全屏播放的故障已经完全修复了。
4. 现在,让我们来分析一下我的Mac Book与Snow Leopard的性能,随着最新的Safari浏览器的发布,FlashPlayer10已经变成一个烂摊子。我的HD视频在Safari中卡的要死,但是在全屏下就很流畅。无论如何,这是测评的一项。
跟随Tinic Uro的指导,我已经安装了最新版的Webkit和FlashPlayer10.1。性能大为改善!在Safari下视频放大时没有丢帧。太棒了Tinic!这就是我需要的。好吧,这里只省掉了20%的CPU。并且我再一次犯懵,为什么使用相同的硬件播放相同的剪辑,在Windows下CPU在30-40%间,而在OS X下却要吃掉80%以上的CPU。但至少这是一种进步。
测试HTML5
那么,HTML5在桌面上的表现如何呢?FlashPlayer10.1以很低的CPU消耗改善了电脑播放视频的体验并且在Windows下播放很完美。在Mac下有20%的改进。当支持GPU后,CPU的消耗将更低。马上,基于NetBook的ION将具备解码HD的能力。(可以读读FlashPlayer10.1 GPU加速H.264的相关文章http://www.anandtech.com/video/showdoc.aspx?i=3678)
那么,HTML5在桌面上有什么优势呢?
我已经在我的MacBook上用Safari进行了测试,同时在Windows下用Chrome和FireFox进行了测试(可笑的是IE至今不支持)。
使用Safari的HTML5在YouTube上进行SD解码,需要吃掉20%的处理能力。相同的视频,FlashPlayer10.1与Nigthly webkit大概要35%,相差不大了。在Windows7下,Chrome仅需要5-6%。另一方面,FireFox3.6根本就不支持YouTube上的HTMl5。在Windows7下的任何浏览器上,用不同版本的Flash播放相同的视频仅需要7-8%。
我也测试了 this HTM5 Play (SublimeVideo) http://jilion.com/sublime/video 。在Mac上,CPU的使用率一直在40%左右,这是在相同硬件的基础上,Flash在Windows下的典型消耗……也许在未来,苹果会对FlashPlayer开放HTML5使用的H.264解码通道。
然后,我还在Windows XP(QuadCore 2.4Ghz)下测试了Sublime HTML5播放器。在FireFox下的HD视频解码示例,使用Theora Codec(H.264在FireFox上还未支持)使用了55-60%的CPU,而且全屏播放体验很差(丢帧),视频播放的质量也很糟糕。Chrome下的表现要好些,在窗口下25%,全屏55%(24寸显示器)。
测试得出结论:在Windows下,HTML5根本没有能力与FlashPlayer竞争。在Mac下倒具备一定的竞争力。显然,这也是在iPhone上观看影片的唯一解决方案。
结论
FlashPlayer到目前为止,可能是因为Mac上的性能,也可能因为在手机市场上缺乏支持而存在一些问题。但是现在,FlashPlayer10.1会遍布几乎所有台式机和移动平台(除了iPhone)以及新兴的机顶盒市场。这样还有问题吗?我只看到Flash有一个光明的未来,而HTML5不但没能杀死Flash,反而会在竞争中消亡。这是显而易见的。
FlashPlayer10.1(Windows)在85%的电脑上运行良好。
在剩下的15%电脑上(Mac与Linux)下性能次佳。
70%以上的智能手机会支持FlashPlayer10.1(RIM, WM7, WebOS, Android, Symbian还有很大一部分的中型手机将会支持FlashLite4)。
那么,还剩多少给HTMl5呢?只有比iPhone和iPad多一点的市场份额,或者作为FlashPlayer的替补……