看到有人問Flash Video的問題,我就延伸一下。
Apple之所以拋棄FLASH,是因為他已經有了更好的東西叫Dynamic HTTP Streaming(apple DHS or Dynamic LIVE Streaming HLS)。目前DHS是iOS支持的主要的多媒體流播放方式,同時也被Android 4.x所支持,其優點是實現簡單,使用HTTP協議,支持動態帶寬調整,容易結合各種加密和數字證書,文件格式是MPEG TS。但缺點是有較大的延遲。
FLASH本來也是不錯的東西,尤其容易在瀏覽器獲得支持,但由於是包含不開放的RTMP協議,難免不方便。盡管2010年Adobe把部分RTMP協議公開了,但大家對此已經有了更好的選擇。該技術使用FLV文件,也可以使用HTTP協議,支持動態流量控製。
微軟的Smooth Streaming,尤其在動態根據帶寬調整流量方麵做得出色,可惜需要Silivelight支持,或單獨開發客戶端。另外一個是Smooth Streaming的實時廣播不容易實現,要買微軟的軟件,用Windows Server(VOD點播已經可以在Linux上實現,廣播也有勉強的實現)。
現在最新的叫MPEG Dynamic Adaptive Streaming Over HTTP(DASH),是呼聲最高,但目前還沒有具體的實施,我認為觀望一下再說。
上述這些多媒體流播放協議的共同特點就是使用HTTP協議,這種就能方便地穿越firewall。而老的流協議如:rtsp,rtp,udp,MMS,等在移動網上有各種弊病,逐漸不成為主流。其中,iOS幹脆就不支持rtsp,而android自4.x後,改換多媒體模塊的供應商,rtsp就一直處於故障狀態。