流媒體技術 rtp/rtcp/rtsp資料精華!



流媒體技術 rtp/rtcp/rtsp資料精華!

流媒體技術
  流媒體是指在網絡中使用流式(Sreaming)傳輸技術進行傳輸的連續時基媒體,如音頻數據流或視頻數據流,而不是一種新的媒體。流媒體技術(或稱爲流式媒體技術)就是把連續的影像和聲音信息經過壓縮處理後放到網絡服務器上,讓瀏覽者一邊下載一邊觀看、收聽,而不需要等到整個多媒體文件下載完成就可以即時觀看的技術。流媒體技術並不是單一的技術,它是融合流媒體數據的採集、壓縮、存儲、傳輸以及網絡通信等多項技術之後所產生的技術。
  流媒體給互聯網帶來的變化是巨大的,對於用戶來講,觀看流媒體文件與觀看傳統的音視頻文件在操作上幾乎沒有任何差別。惟一有區別的就是在影音品質上,由於流媒體爲了解決帶寬問題以及縮短下載時間,而採用了較高的壓縮比,因此用戶感受不到很高的圖像和聲音質量。 

  一.流式傳輸 

  流式傳輸定義很廣泛,現在主要指通過網絡傳送媒體(如視頻、音頻)的技術總稱。其特定含義爲通過Internet 將影視節目傳送到PC機。實現流式傳輸有兩種方法:實時流式傳輸(Realtime streaming)和順序流式傳輸(progressive streaming)。 

  1.順序流式傳輸


  順序流式傳輸是順序下載,在下載文件的同時用戶可觀看再線媒體,在給定時刻,用戶只能觀看已下載的那部分,而不能跳到還未下載的前頭部分,順序流式傳輸不象實時流式傳輸在傳輸期間根據用戶連接的速度做調整。由於標準的HTTP服務器可發送這種形式的文件,也不需要其他特殊協議,它經常被稱作HTTP流式傳輸。順序流式傳輸比較適合高質量的短片段,如片頭、片尾和廣告,由於該文件在播放前觀看的部分是無損下載的,這種方法保證電影播放的最終質量。這意味着用戶在觀看前,必須經歷延遲,對較慢的連接尤其如此。 
  對通過調制解調器發佈短片段,順序流式傳輸顯得很實用,它允許用比調制解調器更高的數據速率創建視頻片段。儘管有延遲,畢竟可讓你發佈較高質量的視頻片段。 
  順序流式文件是放在標準HTTP 或FTP服務器上,易於管理,基本上與防火牆無關。順序流式傳輸不適合長片段和有隨機訪問要求的視頻,如:講座、演說與演示。它也不支持現場廣播,嚴格說來,它是一種點播技術。


  2.實時流式傳輸

  二.流媒體技術原理
  多媒體數據必須進行預處理才能適合流式傳輸,這是因爲目前的網絡帶寬對多媒體巨大的數據流兩來說還顯得遠遠不夠。預處理主要包括兩方面:一是降低質量;二是採用先進高效的壓縮算法。 

  流式傳輸的過程一般是這樣的:

  (1)用戶選擇某一流媒體服務後,Web瀏覽器與Web服務器之間使用HTTP/TCP交換控制信息,以便把需要傳輸的音/視頻流實時數據從原始信息中檢索出來。

  (2)客戶機上的Web瀏覽器啓動客戶端程序(即一些播放程序),使用HTTP從Web服務器檢索相關參數對客戶端程序進行初始化。這些參數可能包括目錄信息、音/視頻數據的編碼類型或與A/V檢索相關的服務器地址。

   (3)客戶端程序及流媒體服務器運行實時流控制協議(RTSP),以交換音/視頻數據流傳輸所需的控制信息。RTSP起到一個遙控器的作用,用於客戶端對流媒體服務器的遠程控制,控制媒體數據流的播放、快進、快倒、暫停等命令。

  (4)流媒體服務器使用RTP/UDP協議將音/視頻數據傳輸給客戶端程序,一旦音/視頻數據抵達客戶端,音/視頻客戶程序即可播放輸出。

   需要說明的是,在流式傳輸中,使用RTP/UDP和RTSP/TCP兩種不同的通信協議與流媒體服務器建立聯繫,是爲了能夠把服務器的輸出重定向到一個不同於運行客戶端程序所在客戶機的目的地址。實現流式傳輸一般都需要專用服務器和播放器。



  三.支持流媒傳輸的網絡協議
  1.實時傳輸協議RTP與RTCP


  RTP(Real-timeTransportProtocol)是用於Internet上針對多媒體數據流的一種傳輸協議。RTP被定義爲在一對一或一對多的傳輸情況下工作,其目的是提供時間信息和實現流同步。RTP通常使用UDP來傳送數據,但RTP也可以在TCP或ATM等其他協議之上工作。當應用程序開始一個RTP會話時將使用兩個端口:一個給RTP,一個給RTCP。RTP本身並不能爲按順序傳送數據包提供可靠的傳送機制,也不提供流量控制或擁塞控制,它依靠RTCP提供這些服務。通常RTP算法並不作爲一個獨立的網絡層來實現,而是作爲應用程序代碼的一部分。
  實時傳輸控制協議RTCP。RTCP(Real-timeTransportControlProtocol)和RTP一起提供流量控制和擁塞控制服務。在RTP會話期間,各參與者週期性地傳送RTCP包。RTCP包中含有已發送的數據包的數量、丟失的數據包的數量等統計資料,因此,服務器可以利用這些信息動態地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,它們能以有效的反饋和最小的開銷使傳輸效率最佳化,因而特別適合傳送網上的實時數據。 
  RTCP執行下列四大功能: 
  主要是提供數據發佈的質量反饋。是作爲RTP傳輸協議的一部分,與其他傳輸協議的流和阻塞控制有關。反饋對自適應編碼控制直接起作用,但IP組播經驗表明,從發送者收到反饋對診斷髮送錯誤是致關重要的。給所有參加者發送接收反饋報告允許問題觀察者估計那些問題是局部的,還是全局的。諸如IP組播等發佈機制使網絡服務提供商類團體可能接收反饋信息,充當第三方監控者來診斷網絡問題。反饋功能由RTCP發送者和接收者報告執行。 
  RTCP帶有稱作規範名字(CNAME)的RTP源持久傳輸層標識。如發現衝突,或程序重新啓動,既然SSRC標識可改變,接收者需要CNAME跟蹤參加者。接收者也需要CNAME 與相關RTP連接中給定的幾個數據流聯繫。 
  前兩種功能要求所有參加者發送RTCP包,因此,爲了RTP擴展到大規模數量,速率必須受到控制。讓每個參加者給其它參加者發送控制包,就大獨立觀察參加者數量。該數量用語計算包發送的速率。 
  第四個可選功能是傳送最小連接控制信息,如參加者辨識。最可能用在\"鬆散控制\"連接,那裏參加者自由進入或離開,沒有成員控制或參數協調,RTCP充當通往所有參加者的方便通道,但不必支持應用的所有控制通訊要求。


  2.實時流協議RTSP

  實時流協議RTSP(RealTimeStreamingProtocol)是由RealNetworks和Netscape共同提出的,該協議定義了一對多應用程序如何有效地通過IP網絡傳送多媒體數據。RTSP在體系結構上位於RTP和RTCP之上,它使用TCP或RTP完成數據傳輸。HTTP與RTSP相比,HTTP傳送HTML,而RTP傳送的是多媒體數據。HTTP請求由客戶機發出,服務器作出響應;使用RTSP時,客戶機和服務器都可以發出請求,即RTSP可以是雙向的。 


  3.資源預訂協議RSVP協議

  由於音頻和視頻數據流比傳統數據對網絡的延時更敏感,要在網絡中傳輸高質量的音頻、視頻信息,除帶寬要求之外,還需其他更多的條件。RSVP(ResourceReserveProtocol)是正在開發的Internet上的資源預訂協議,使用RSVP預留一部分網絡資源(即帶寬),能在一定程度上爲流媒體的傳輸提供QoS。在某些試驗性的系統如網絡視頻會議工具vic中就集成了RSVP。 



  四.流媒體系統的組成

  一個最基本的流媒體系統必須包括編碼器(Encoder)、流媒體服務器(Server)和客戶端面播放器(Player)3個模塊。模塊之間通過特定的協議互相通信,並按照特定格式互相交換文件數據。其中編碼器用於將原始的音/視頻轉換成合適的流格式文件,服務器向客戶端發送編碼後的媒體流,客戶端播放器則負責解碼和播放接收到的媒體數據。 

  1、編碼器

  編碼器的功能是對輸入的原始音、視頻信號進行壓縮編碼。不同的流媒體業務,對編碼器有不同的性能要求。目前常用的視頻編碼方案有MPEG-4、H.264和Microsoft公司的Windows Media Video採用的AC-1;音頻編碼方案有MP3、MPEG-2、AAC、AMR和AMR-WB等。多媒體編碼器所生成的碼流只包含了解碼該碼流所必需的信息,不包含媒體間的同步、隨機訪問等系統信息,因此編碼後的多媒體數據還要被組織成爲流媒體文件格式用於傳輸或存儲。

  2、流媒體服務器

通常流媒體的播放採用以下三種方式

  1.單播


  在客戶端與媒體服務器之間需要建立一個單獨的數據通道,從一臺服務器送出的每個數據包只能傳送給一個客戶機,這種傳送方式稱爲單播。每個用戶必須分別對媒體服務器發送單獨的查詢,而媒體服務器必須向每個用戶發送所申請的數據包拷貝。這種巨大冗餘首先造成服務器沉重的負擔,響應需要很長時間,甚至停止播放;管理人員也被迫購買硬件和帶寬來保證一定的服務質量。 


  2.組播


  在IP組播技術構建一種具有組播能力的網絡上,允許路由器一次將數據包複製到多個通道上。採用組播方式,單臺服務器能夠對幾十萬臺客戶機同時發送連續數據流而無延時。媒體服務器只需要發送一個信息包,而不是多個;所有發出請求的客戶端共享同一信息包。信息可以發送到任意地址的客戶機,減少網絡上傳輸的信息包的總量。網絡利用效率大大提高,成本大爲下降。 


  3.點播與廣播


  點播連接是客戶端與服務器之間的主動的連接。在點播連接中,用戶通過選擇內容項目來初始化客戶端連接。用戶可以開始、停止、後退、快進或暫停流。點播連接提供了對流的最大控制,但這種方式由於每個客戶端各自連接服務器,卻會迅速用完網絡帶寬。 
  廣播指的是用戶被動接收流。在廣播過程中,客戶端接收流,但不能控制流。例如,用戶不能暫停、快進或後退該流。廣播方式中數據包的單獨一個拷貝將發送給網絡上的所有用戶。 使用單播發送時,需要將數據包複製多個拷貝,以多個點對點的方式分別發送到需要它的那些用戶,而使用廣播方式發送,數據包的單獨一個拷貝將發送給網絡上的所有用戶,而不管用戶是否需要,上述兩種傳輸方式會非常浪費網絡帶寬。組播吸收了上述兩種發送方式的長處,克服了上述兩種發送方式的弱點,將數據包的單獨一個拷貝發送給需要的那些客戶。組播不會複製數據包的多個拷貝傳輸到網絡上,也不會將數據包發送給不需要它的那些客戶,保證了網絡上多媒體應用佔用網絡的最小帶寬。 



  3、客戶端播放器

  音/視頻RTP數據包經網絡傳輸到客戶端後,先進入一個緩衝隊列等待,這個緩衝隊列中的所有數據包按照包頭的序列號排序,如果有遲到的包,則按序列號重新插入正確的位置上,這樣就避免了亂序的問題。
  客戶端每次從隊列頭部讀取一幀數據,從包頭的時間標記中解出該幀的播放時間,然後進行音/視頻同步處理。同步後的數據將送入解碼器進行解碼,解碼後的數據被送入一個循環讀取的緩衝中等待。一旦該幀的播放時間到達,就將解碼數據從緩衝存中取出,送入播放模塊進行顯示或播放。


  五.流媒體文件格式
  流媒體文件格式是支持採用流式傳播及播放的媒體格式。流式文件格式經過特殊編碼,使其適合在網絡上邊下載邊播放,而不是等到下載完整個文件才能播放。將壓縮媒體文件編碼成流式文件,必須假如一些附加信息,如計時、壓縮和版權信息。


  六.流媒體應用

  1.在線直播
  隨着Internet的普及網絡上輿的資料不再侷限於文字和圖形,有許多的視頻應用需要在網上直播,如世界盃現場直播、春節晚會直播等。對電視臺來說,利用流媒體技術實現在線直播,可以最大範圍地覆蓋觀衆,能像電視直播一樣大致宣傳、廣告或滿足觀衆需求的目的。

  2.視頻點播
  隨着多媒體技術、通信技術以及硬件存儲技術的發展,人們已不再滿足以往單一、被動的單方向信息獲取方式。採用流媒體技術的視頻點播(Video on Demand,VOD)的交互式業務,正受到人們的歡迎。現在網上很多的在線影院基本上都是採用RealNetwork公司的RealSystem或微軟的Windows Meadia System。

  3.遠程教育
  遠程教育系統與傳統學校教育相比,突破了時空限制,增加了學習機會,有利於擴大教育規模,提高教學質量,降低教學成本。學習者可以在自己方便的時間、適合的地點,按照自己需要的速度和方式,運用豐富的教學資源來進行教學。目前許多大學都已採用流媒體技術實現了遠程教育。

  此外,滬江網校也是!流媒體技術在電子商務、遠程醫療和視頻會議等許多方面都有成功應用。目前流媒體技術的應用主要有寬帶和窄帶兩種方式。窄帶方式包括多媒體新聞直播、遠程教學、e-Learing、股評分析和視頻會議等;寬帶方式包括網絡電視、KTV、企業培訓和多媒體IDC等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章