深入分析:Flash VS HTML5到底誰統江山

 
 
 
轉自:
衆所周知,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到來時在看在線視頻上會有什麼改變吧。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章