流媒體技術概覽

來源:互聯網
上載者:User

標籤:流媒體   流媒體伺服器   流媒體協議   

寫在前面

    一直都想寫一篇較為全面的介紹流媒體技術的文章,可是出於種種原因,一直遲遲沒有動筆。一個原因是目前網上介紹流媒體技術的文章太多了,從各方面說的都有,搜尋一下能找出不少專業性很強的資料,所以懷疑再出來寫這個的東西的必要性是否還存在。另一個原因是,確實不想再重複的絮叨一些概念性的東西,也不想簡單的整理和摘抄,還是想真正深入的從概念到原理仔細的把這個東西介紹一下,這樣就需要把握好技術和語言的尺度水準,既要讓讀者覺得輕鬆有趣,又要能讓人讀到有價值的東西,很擔心自己能否把握好這點。其實兩個原因歸結在一起,都是不自信的表現。

    不過細想一下,還是應該寫點東西,人畢竟不能每天都在忙忙碌碌中度過,還是應該把一些有價值的東西記錄下來才好,一方面是對自己工作的整理,另一方面也算是對開放網路世界的一點貢獻,都還是有好處的。說了這麼幾句題外話,還是書歸正傳吧。


發展曆史

    流媒體概念和技術最早出現在上世紀90年代後期,目的是為了實現在有限的頻寬條件下比較流暢的播放視音頻內容。我們知道那時候終端使用者的頻寬很小,一般家庭還是56Kpbs ~ 256Kbps的撥號網路,大部分企業接入網路也不過2M左右,可能這對現在的大部分年輕人來說有點不可思議,而實際情況就是這樣。當時H.264編碼技術還沒有出現,導致在網路上傳輸視頻更是費勁,說實話,那個時候上網誰要是說要在網上看視頻,簡直是癡人說夢。可是就是有那麼一批高科技先驅者要實現這個夢想,因為他們明確的預測到從文本到圖片再到視頻是互連網發展的趨勢,儘管這個預測有些早,中間死了一大批先驅,可是流媒體技術還是不斷的發展起來,一代代的技術更新,一直到今天這個樣子。

    2000年前後的流媒體技術,基本上由三大廠商把持著,微軟、Macromedia和Real,2005年Macromedia被Adobe收購。這三家公司的技術沒有絕對的優劣,基本是一個層級,應用目標也相同,應用規模有沒有說哪家領先到哪裡去,畢竟那時候也沒有幾個人在網上看視頻,無論是國內還是國外,除了上網看A片能忍受不停地緩衝,沒有人認為在那種網路條件下看視頻是一種享受。在具體的應用上,微軟始終是那個樣子,叫好不叫座,Adobe憑藉Flash播放器佔據少許優勢,而Real則憑藉RM壓縮格式有不少使用者。沒有寬頻使用者,沒有開放的技術規範,沒有高效能智能終端,一切都是白搭,這三家大公司就這麼不溫不火的折騰著,Real在這個過程中首先被拖死了。

    有時候轉機就是那麼快,2005年之後,似乎很短的時間內,我們的頻寬變寬了,智能手機普及了,H.254編碼通訊協定也很快被大家接受了,互連網視頻應用的春天終於來了。頻寬越來越寬,手機越來越快,互連網上的視頻內容越來越多,youtube、優酷等國內外以視頻內容運營為主體的網站如雨後春筍般出現,在網上看視頻逐漸從時尚成為習慣。

    在這個過程中,流媒體技術也在發生著巨大的變化。微軟公司的Windows Media流媒體技術,由於技術封閉和反應遲鈍,以及不能跨終端等問題,被淘汰出局,雖然微軟又推出了SilverLight和IIS smooth Streaming技術,但也是於事無補,最終無人問津。Adobe公司憑藉著Flash播放器的優勢,在PC終端上佔據著絕大部分的使用者市場。而在移動終端,由Apple公司提出的HLS流媒體技術標準成了最大的贏家,由於其技術開放,協議簡單,又充分利用了既有的成熟技術標準,開發實現也相對簡單,很快就被各方接受,不僅Apple自己的iOS系統全部支援該標準,Android系統也很快將其作為內建支援的流媒體技術協議。所以說現在的流媒體技術,主流兩家就是Adobe和Apple,Adobe的Flash技術和Flash播放器是PC端的絕對主力,智能手機和Pad等移動終端上HLS則應用最為廣泛。


術原理

    為什麼流媒體技術在經曆了這麼多年的發展之後依然有這麼強大的生命力,並且不斷保持著快速的更新換代呢?這要從流媒體的技術本質和應用目標說起。

    我們知道,流媒體技術(Streaming media)技術是相對於傳統下載式播放技術(Downloading)來說的。下載式播放是兩種技術生搬硬套的銜接,一個下載技術,一個是播放技術,下載技術的只是負責下載,播放技術的只是負責播放,兩者沒有任何協作,使用者在播放視頻時必須先把檔案下載下來,然後才能播放,如果檔案很大,等待過程是讓人心煩意亂的,也根本沒有幾個人願意去等。下載式播放對網路頻寬和伺服器運算資源是一種浪費,無論使用者觀看視頻的哪一部分都需要下載全部檔案,這是一個多麼無聊的技術。

    流媒體技術則很好的解決下載式播放中存在的這些問題,是一種完全不同的播放體驗。首先,流媒體技術實現了即點即播,使用者在播放視頻時不再需要下載整個檔案,只要下載很少的資料就可以開始播放,播放至哪就下載哪一部分視頻對應的資料,不播放就不下載,在網路上看視頻和觀看本地視頻檔案的回應時間幾乎沒有任何差別。其次使用者還可以跳轉播放,可以把播放進度拖動到任何播放位置,進度條拖動到哪裡就從哪來開始播放,也幾乎不用等待,即點即播。不僅播放體驗徹底改觀,對伺服器和頻寬的消耗也大大減少,使得伺服器和網路可以服務更多的使用者,大大提高並發響應能力。

    流媒體技術之所以能夠實現即點即播、按需下載,其技術的本質是伺服器和播放器之間的默契配合。在精心設計的協議標準的約束指導下,伺服器和播放器之間不僅傳遞視頻資料,還傳遞播放控制指令,如播放(play)、暫停(pause)、停止(stop)、跳轉(seek)等指令,這樣播放器就可以根據使用者的播放請求象伺服器發送播放控制指令,伺服器收到這些指令後按照播放器的需要發送合適的資料下來。在流媒體技術體系下,這種傳遞視音頻資料和控制指令的協議被稱為流媒體協議,伺服器被稱為流媒體伺服器,播放器被稱為流媒體播放器。

    目前,廣泛使用的流媒體協議有Adobe的RTMP協議,Apple的HLS協議,和Real公司參與起草的RTSP協議。RTSP協議在監控領域用的非常廣泛,但在互連網視頻應用領域很少有人使用。還有一種協議,就是微軟的MMS協議,雖然也曾紅極一時,但現在極少有人使用了。

    在這裡重點說下HTTP協議,我們都覺得HTTP協議是傳輸網頁和圖片的協議,實際上它才是目前最為廣泛的流媒體傳輸協議!由於HTTP協議的成熟、簡單和能穿越防火牆等特點,越來越多公司開始在HTTP協議上開發音視頻傳輸和播放技術,HLS、HTML5 Video、HTTP Pseudo-Streaming都是使用HTTP作為資料發送協議的,當前互連網上絕大部分視頻都是通過HTTP協議傳輸的。後續的我將會對這幾種協議的技術原理和實現細節進行進一步的說明。

本文出自 “流媒體伺服器技術研究” 部落格,請務必保留此出處http://livestreaming.blog.51cto.com/3135568/1833109

流媒體技術概覽

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.