您的位置:首页 > Web前端 > HTML5

深入分析:Flash VS HTML5到底谁统江山

2013-07-29 11:07 344 查看
转自:

众所周知,iPhone和iPad不支持flash,不能观看优酷土豆网的flash视频,这是为什么?

因为有远见的乔布斯预见html5会崛起,果断放弃了flash这个撇脚的网页视频插件。

flash实在是很太耗资源,不适合在移动平台上使用。

Android系统是支持flash的,但因为flash实在效率太低,

低配电脑都会卡顿,更不要指望在移动平台上流畅运行了!

我用的I9100,也就是昵称盖世兔,搭载双核猎户座1.2GHz的CPU,看优酷flash依然卡顿,

而iPhone4单核800MHz处理器,播放html5毫无压力。

Flash影片,也就是我们常见的FLV格式视频,

是一种常用的影片格式(Container),播放FLV时需要Flash Player

而H.264是影片编码(Codec),适用于多种影片格式,

像是QuickTime的MOV格式,Flash的FLV格式。

而目前在Youku等各大在线视频网站上的FLV影片,大多采用H.264作为编码,

所以它们既是Flash,又是H.264。

视频格式示意图




了解两者之间的差异之后,现在开始说明Flash与HTML5在在线播放上的差别。

首先,让我们谈谈电脑上的运作差异,以及稳定的纠结点。

电脑浏览器上两者的差别在哪?又有哪些问题?

首先,让我们用Windows结合Google

Chrome浏览器介绍播放Youtube视频时的运作模式:





YouTube播放运作模式

1,Flash:Youtube上的FLV视频需要通过一个SWF(Shockwave Flash)播放器播放,而这个播放器会调用Flash PlayerPlug-In来播放影片。

2,HTML5:YouTube上的M4V影片直接使用<Video>标签即可播放,而播放器是通过JavaScript编写的,一切都是利用浏览器内建功能完成。

这两种模式的优缺点,又可以用『稳定性』和『流畅性』来说明:

稳定性:

Flash Player最大的问题是容易假死,想必大家都会在玩游戏,看电影时遇到Flash Player出现问题的情况。

之前,只要Flash Player一假死,就会连浏览器都一起死掉。

而HTML5利用<Video>标签和JavaScript来播放,不需要任何插件,这样相对稳定很多。

流畅度:

另一件事是,当在线视频由480P逐渐升级到720P或者1080P的时候,光是播放就已经占用相当高的CPU资源。

台式机播放都有点吃力,更别提是CULV及ATOM的轻省本了。

于是Flash Player 10.1版开始加入了硬解码支持,利用GPU加速来降低CPU资源的占用。

实际测试也证明,硬件加速是目前降低CPU占用的唯一办法。





HTML5与Flash播放的不同

  

在这项测试中,

Mac上的Safari播放HTML5影片时占用的资源相当少,

主要是因为Safari遇到H.264格式的影片时,会调用Mac OS X中的QuickTime X进行解码,

而QuickTime X原来就支持硬解。

当时Apple尚未放出硬解API,使得Flash Player 10.0与10.1完全没有差异。

当Apple公布硬解API之后,Adobe也随即推出Flash Player 10.1 Gala For Mac,

加入了硬解功能,CPU占用也明显减少。

微软也宣布将在IE9中支持HTML5影片播放和H.264硬解。

比较这两点,Flash Player除了稳定性问题,支持跨平台(NO Linux)、跨浏览器硬解是比HTML5具有优势。

而HTML5最大的问题在于浏览器内建编码不统一,

这一点在下文再讨论,现在看看移动设备的状况。

移动设备:性能和电量很吃紧

Steve Jobs在文中也提及,目前大多的移动设备芯片都支持H.264硬解,

而目前移动设备主流芯片几乎都采用ARM架构。

的确,ARM11、ARM Cortex-8、Cortex-9大多都支持H.264硬解,

但Adobe也宣称手机上的Flash Player 10.1将支持硬解。





iPhone和Android播放的差异

但是就算支持硬解,影片播放和硬件之间隔了一层Flash Player的话,电池消耗又会是如何呢?

依照FlashMobileBlog的实测,采用WiFi上网,Nexus One能看3个小时的Youtube视频,

但Nexus One官方数据中,单机播放影片的时间达7小时。

出去无线连接耗用的电量,与Steve Jobs所提及的iPhone可播放10小时的H.264影片,但播放Flash影片仅有5小时,比例大概是2:1,

可见Flash耗电确实是个问题。

无论如何,再过几天,Adobe将于Google I/O开发者大会上展示供Android使用的Flahs Player 10.1,

也极有可能随着Android 2.2版(Froyo)一起更新,到时候就可以见分晓。

不过,如果Adobe不能实际证明Flash在移动设备上不耗电的话,

通过HTML5直接在线播放H.264影片则是目前移动设备最佳的解决方案。

HTML5影片的纠结点:浏览器支持解码不一






主流浏览器对视频编码的支持

  1,移动设备上:Flash如果耗电问题没有解决,HTML5与H.264硬件将会是未来较好的在线播放格式。

  2,PC终端:如果主流浏览器没有统一支持HTML5编码,普及性将会无法和Flash比

  3,Apple:以苹果产品线的齐全及软件硬件的配合,在产品上推广HTML5不难。但要扩展出去有困难。

目前。土豆。优酷等几家大的视频网站都是支持HTML5的。。所以咱们就等待2.0到来时在看在线视频上会有什么改变吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: