⊙  中國視聽網 > 行業(yè)新聞 > 數(shù)字告示 > 技術學園 | 技術動態(tài) > 關于RTP/RTCP流媒體服務器技術的研究

關于RTP/RTCP流媒體服務器技術的研究

中國視聽網資訊 更新時間:2009-8-19 17:18:16  編輯:心怡  [ ]     手機訪問

  隨著互聯(lián)網的飛速發(fā)展,流媒體技術的應用越來越廣泛,從網上廣播、電影播放到遠程教學以及在線的新聞網站等都用到了流媒體技術。但現(xiàn)有公開文獻所報道的大多是利用現(xiàn)有的流媒體服務器來搭建一個流媒體服務系統(tǒng),或者是針對流媒體數(shù)據(jù)的編碼方式所進行的研究。本文對流媒體服務器技術的研究重點在于如何建立一個服務器,并且在實現(xiàn)流媒體傳輸?shù)膬蓚€基本協(xié)議RTP/RTCP的基礎上構建一個基本的流媒體服務器。

2 流媒體技術簡介
2.1 “流”的定義

  現(xiàn)在網上傳輸視頻、音頻主要有下載(Download)和流式傳輸(Streaming)兩種方式。流式傳輸是連續(xù)傳送視/音頻信號,當流媒體在客戶機播放時其余部分在后臺繼續(xù)下載。流式傳輸有順序流式傳輸(Progressive Streaming)和實時流式傳輸(Realtime Streaming)兩種方式。實時流式傳輸是實時傳送,特別適合現(xiàn)場事件,實時流式傳輸必須匹配連接帶寬,這意味著圖像質量會因網絡速度降低而變差,以減少對傳輸帶寬的需求。“實時”的概念是指在一個應用中數(shù)據(jù)的交付必須與數(shù)據(jù)的產生保持精確的時間關系。
  在Internet中使用流式傳輸技術的連續(xù)時基媒體就稱為流媒體,通常也將其視頻與音頻稱為視頻流和音頻流。實現(xiàn)流式傳輸一般都需要專用服務器和播放器。

2.2 流媒體系統(tǒng)組件

  流媒體是由各種不同軟件構成的,這些軟件在各個不同層面上互相通信,基本的流媒體系統(tǒng)包含以下3個組件:

播放器(Player),用來播放流媒體的軟件。

服務器(Server),用來向用戶發(fā)送流媒體的軟件。

編碼器(Encode),用來將原始的音頻視頻轉化為流媒體格式的軟件。

  這些組件之間通過特定的協(xié)議互相通信,按照特定的格式互相交換文件數(shù)據(jù)。有些文件中包含了由特定編解碼器解碼的數(shù)據(jù),這種編解碼器通過特定算法壓縮文件的數(shù)據(jù)量。

3 流媒體服務器的基本功能和服務方式

3.1 流媒體服務器的主要功能

(1)響應客戶的請求,把媒體數(shù)據(jù)傳送給客戶。流媒體服務器在流媒體傳送期間必須與客戶的播放器保持雙向通信(這種通信是必需的,因為客戶可能隨時暫停或快放一個文件)。

(2)響應廣播的同時能夠及時處理新接收的實時廣播數(shù)據(jù),并將其編碼。

(3)可提供其他額外功能,如:數(shù)字權限管理(DRM),插播廣告,分割或鏡像其他服務器的流,還有組播。

3.2 流媒體服務器的服務方式

(1)單播。在客戶端與媒體服務器之間建立一個單獨的數(shù)據(jù)通道,從1臺服務器送出的每個數(shù)據(jù)包只能傳送給1個客戶機。

(2)組播。在以組播技術構建的網絡上,允許路由器一次將數(shù)據(jù)包復制到多個通道上。

(3)點播與廣播。點播連接是客戶端與服務器之間的主動的連接,在點播連接中,用戶通過選擇內容項目來初始化客戶端連接,用戶可以開始、停止、后退、快進或暫停流。廣播指的是用戶被動地接收流,在廣播過程中,數(shù)據(jù)包的單獨一個拷貝將發(fā)送給網絡上的所有用戶,客戶端接收流,但不能控制流。

4 構建流媒體服務器

4.1 RTP/RTCP協(xié)議簡介

  實時傳輸協(xié)議RTP(Realtime Transport Protocol):是針對Internet上多媒體數(shù)據(jù)流的一個傳輸協(xié)議, 由IETF(Internet工程任務組)作為RFC1889發(fā)布。RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間信息和實現(xiàn)流同步。RTP的典型應用建立在UDP上,但也可以在TCP或ATM等其他協(xié)議之上工作。RTP本身只保證實時數(shù)據(jù)的傳輸,并不能為按順序傳送數(shù)據(jù)包提供可靠的傳送機制,也不提供流量控制或擁塞控制,它依靠RTCP提供這些服務。

  實時傳輸控制協(xié)議RTCP(Realtime Transport Control Protocol):負責管理傳輸質量在當前應用進程之間交換控制信息。在RTP會話期間,各參與者周期性地傳送RTCP包,包中含有已發(fā)送的數(shù)據(jù)包的數(shù)量、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計資料,因此,服務器可以利用這些信息動態(tài)地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,能以有效的反饋和最小的開銷使傳輸效率最佳化,故特別適合傳送網上的實時數(shù)據(jù)。

  RTCP主要有4個功能:

(1)用反饋信息的方法來提供分配數(shù)據(jù)的傳送質量,這種反饋可以用來進行流量的擁塞控制,也可以用來監(jiān)視網絡和用來診斷網絡中的問題;

(2)為RTP源提供一個永久性的CNAME(規(guī)范性名字)的傳送層標志,因為在發(fā)現(xiàn)沖突或者程序更新重啟時SSRC(同步源標識)會變,需要一個運作痕跡,在一組相關的會話中接收方也要用CNAME來從一個指定的與會者得到相聯(lián)系的數(shù)據(jù)流(如音頻和視頻);

(3)根據(jù)與會者的數(shù)量來調整RTCP包的發(fā)送率;

(4)傳送會話控制信息,如可在用戶接口顯示與會者的標識,這是可選功能。

4.2 RTP/RTCP工作過程

  工作時,RTP協(xié)議從上層接收流媒體信息碼流(如H.263),裝配成RTP數(shù)據(jù)包發(fā)送給下層,下層協(xié)議提供RTP和RTCP的分流。如在UDP中,RTP使用一個偶數(shù)號端口,則相應的RTCP使用其后的奇數(shù)號端口。RTP數(shù)據(jù)包沒有長度限制,它的最大包長只受下層協(xié)議的限制。

4.3 服務器的算法

  服務器軟件模型主要有兩種,即并發(fā)服務器和循環(huán)服務器。循環(huán)服務器(Iterative Server)是指在一個時刻只處理一個請求的服務器。并發(fā)服務器(Concurrent Server)是指在一個時刻可以處理多個請求的服務器。事實上,多數(shù)服務器沒有用于同時處理多個請求的冗余設備,而是提供一種表面上的并發(fā)性,方法是依靠執(zhí)行多個線程,每個線程處理一個請求,從客戶的角度看,服務器就像在并發(fā)地與多個客戶通信。

  由于流媒體服務時間的不定性和數(shù)據(jù)交互實時性的請求,流媒體服務器一般采用并發(fā)服務器算法。本文構建了一個基本的流媒體服務器,能夠同時響應多個用戶的請求,把本地硬盤流媒體文件或實時數(shù)據(jù)流(H.263格式)發(fā)送給用戶。在應用中,把客戶分為請求實時數(shù)據(jù)的實時客戶和請求文件數(shù)據(jù)的文件客戶兩類。主要算法為:

(1)打開設備,分配資源。當設備準備好時,創(chuàng)建一個RTP實時服務線程和一個RTCP實時服務線程。

(2)創(chuàng)建一個UDP套接字并將其綁定到所提供服務的地址之上。

(3)反復調用接收模塊,接收來自客戶的RTCP報告,根據(jù)其類型做出響應。對新實時客戶的請求,把客戶地址添加到實時服務的客戶列表中,對新文件客戶的請求,則創(chuàng)建一個新RTP文件服務線程和一個新RTCP文件服務線程;對已經在服務中的客戶則根據(jù)RTCP報告的內容調整服務。

RTP實時服務線程1:初始化客戶列表和RTP首部。

RTP實時服務線程2:從設備讀取媒體數(shù)據(jù),把數(shù)據(jù)發(fā)送給實時服務列表中的客戶。

RTP實時服務線程3:更新RTP首部和統(tǒng)計數(shù)據(jù)。

RTP實時服務線程4:計算延時,重復第二步。

RTCP實時服務線程1:初始化RTCP首部。

RTCP實時服務線程2:發(fā)送發(fā)送方報告給實時服務列表中的客戶。

RTCP實時服務線程3:計算延時,重復第二步。

RTP文件服務線程1:初始化RTP首部。

RTP文件服務線程2.:從文件讀取媒體數(shù)據(jù),把數(shù)據(jù)發(fā)送給客戶。

RTP文件服務線程3:更新已發(fā)送數(shù)據(jù)的統(tǒng)計信息,為生成發(fā)送方報告做準備。

RTP文件服務線程4:計算延時,調整發(fā)送速度,正常情況下開始重復第二步。

RTCP文件服務線程1:初始化RTCP首部,發(fā)送一個源描述(SDES)報文給客戶。

RTCP文件服務線程2:根據(jù)已發(fā)送數(shù)據(jù)的統(tǒng)計信息生成發(fā)送方報告,發(fā)送給客戶。

RTCP文件服務線程3:計算延時,正常情況下開始重復第一步。

5 流媒體服務器實現(xiàn)中應注意的問題

5.1 會話和流的兩級分用

  一個RTP會話(Session)包括傳給某個指定目的地對(Destination Pair)的所有通信量,發(fā)送方可能包括多個。而從同一個同步源發(fā)出的RTP分組序列稱為流(Stream),一個RTP會話可能包含多個RTP流。一個RTP分組在服務器端發(fā)送出去的時候總是要指定屬于哪個會話和流,在接收時也需要進行兩級分用,即會話分用和流分用。只有當RTP使用同步源標識(SSRC)和分組類型(PTYPE)把同一個流中的分組組合起來,才能夠使用序列號(Sequence Number)和時間戳(Timestamp)對分組進行排序和正確回放。

5.2 多線程的管理

  并發(fā)服務器模式要求用多線程來提供服務,所以多線程的管理十分重要。在本文構建的服務器中,不同客戶的請求和反饋都由服務器的主線程處理,由于實時數(shù)據(jù)的獨有性,不同實時客戶可以共用一個RTP實時服務線程和一個RTCP實時服務線程,這樣可以大大減小服務器的負擔,而每個文件客戶由于請求的文件不同,相應地對速度和開始時間的要求都可能不同,所以需要有自己獨有的RTP文件服務線程和RTCP文件服務線程。

  RTP服務線程負責把實時數(shù)據(jù)流發(fā)送給客戶,RTCP服務線程根據(jù)RTP線程的統(tǒng)計數(shù)據(jù),產生發(fā)送方報告給客戶。RTP線程和RTCP線程之間通過一段共享內存交互統(tǒng)計數(shù)據(jù),對共享內存必須設置互斥體進行保護,防止出現(xiàn)錯誤讀寫。在這種方式下,服務器可以根據(jù)每個用戶的不同請求和具體情況方便地提供不同的服務。

5.3 時間戳的處理

  時間戳字段是RTP首部中說明數(shù)據(jù)包時間的同步信息,是數(shù)據(jù)能以正確的時間順序恢復的關鍵。時間戳的值給出了分組中數(shù)據(jù)的第一個字節(jié)的采樣時間(Sampling Instant),要求發(fā)送方時間戳的時鐘是連續(xù)、單調增長的,即使在沒有數(shù)據(jù)輸入或發(fā)送數(shù)據(jù)時也是如此。在靜默時,發(fā)送方不必發(fā)送數(shù)據(jù),保持時間戳的增長,在接收端,由于接收到的數(shù)據(jù)分組的序號沒有丟失,就知道沒有發(fā)生數(shù)據(jù)丟失,而且只要比較前后分組的時間戳的差異,就可以確定輸出的時間間隔。

  RTP規(guī)定一次會話的初始時間戳必須隨機選擇,但協(xié)議沒有規(guī)定時間戳的單位,也沒有規(guī)定該值的精確解釋,而是由負載類型來確定時鐘的顆粒,這樣各種應用類型可以根據(jù)需要選擇合適的輸出計時精度。

在RTP傳輸音頻數(shù)據(jù)時,一般選定邏輯時間戳速率與采樣速率相同,但是在傳輸視頻數(shù)據(jù)時,必須使時間戳速率大于每幀的一個滴答。如果數(shù)據(jù)是在同一時刻采樣的,協(xié)議標準還允許多個分組具有相同的時間戳值。

5.4 媒體數(shù)據(jù)發(fā)送速度的控制

  由于RTP協(xié)議沒有規(guī)定RTP分組的長度和發(fā)送數(shù)據(jù)的速度,因而需要根據(jù)具體情況調整服務器端發(fā)送媒體數(shù)據(jù)的速度。對來自設備的實時數(shù)據(jù)可以采取等時間間隔訪問設備緩沖區(qū),在有新數(shù)據(jù)輸入時發(fā)送數(shù)據(jù)的方式,時間戳的設置相對容易。對已經錄制好的本地硬盤上的媒體文件,以H.263格式的文件為例,由于文件本身不包含幀率信息,所以需要知道錄制時的幀率或者設置一個初始值,在發(fā)送數(shù)據(jù)的時候找出發(fā)送數(shù)據(jù)中的幀數(shù)目,根據(jù)幀率和預置值來計算時延,以適當?shù)乃俣劝l(fā)送數(shù)據(jù)并設置時間戳信息。

5.5 多種流同步

  RTCP的一個關鍵作用就是能讓接收方同步多個RTP流,例如:當音頻與視頻一起傳輸?shù)臅r候,由于編碼的不同,RTP使用兩個流分別進行傳輸,這樣兩個流的時間戳以不同的速率運行,接收方必須同步兩個流,以保證聲音與影像的一致。為能進行流同步,RTCP要求發(fā)送方給每個傳送一個唯一的標識數(shù)據(jù)源的規(guī)范名(Canonical Name),盡管由一個數(shù)據(jù)源發(fā)出的不同的流具有不同的同步源標識(SSRC),但具有相同的規(guī)范名,這樣接收方就知道哪些流是有關聯(lián)的。而發(fā)送方報告報文所包含的信息可被接收方用于協(xié)調兩個流中的時間戳值。發(fā)送方報告中含有一個以網絡時間協(xié)議NTP(Network Time Protocol)格式表示的絕對時間值,接著RTCP報告中給出一個RTP時間戳值,產生該值的時鐘就是產生RTP分組中的TimeStamp字段的那個時鐘。由于發(fā)送方發(fā)出的所有流和發(fā)送方報告都使用同一個絕對時鐘,接收方就可以比較來自同一數(shù)據(jù)源的兩個流的絕對時間,從而確定如何將一個流中的時間戳值映射為另一個流中的時間戳值。

6 結論

  流媒體技術的應用日益廣泛,對流媒體技術的研究具有很大的實際意義,本文通過對RTP/RTCP協(xié)議的研究,分析流媒體服務器的一般功能和結構,給出構建一個基本的流媒體服務器的實現(xiàn)方案,實驗證明可以同時滿足多個實時和文件客戶的要求,并已經應用于一個遠程監(jiān)控系統(tǒng)中。

更多相關: 流媒體服務器 視聽行業(yè)新聞  AV集成

©版權所有。未經許可,不得轉載。


資訊搜索

聲明:本站文章未經授權不得轉載,轉載本站的文章請注明“來源:中國視聽網”。

網友評論

數(shù)字告示相關新聞

圖片新聞

產品導航

今日焦點

新品快訊

  1. 1音響網專訪貝斯普總經理莫汝忠先生
  2. 22009百靈達全國經銷商大會成功召開
  3. 3我國LED產業(yè)正進入爆發(fā)式發(fā)展階段
  4. 4我國LED顯示屏行業(yè)20年綜述
  5. 5我國LED顯示屏產業(yè)前景一片光明
  6. 6LED顯示屏行業(yè)發(fā)展綜述 弱肉強食時代來臨
  7. 7深度解析: 我國LED顯示屏未來走向
  8. 8低碳經濟催亮綠色照明板塊 關注LED產業(yè)鏈
  9. 9中國大陸LED研發(fā)與產業(yè)發(fā)展戰(zhàn)略思考
  10. 10深圳LED產業(yè)或掀融資熱潮 跨國公司大舉兼并
  1. 1音響網專訪貝斯普總經理莫汝忠先生
  2. 2達科:LED大屏幕在中國最大的市場是戶外廣告
  3. 3面對新興市場 你該如何追尋水草豐美
  4. 4利亞德:創(chuàng)新提升LED市場國產化水平
  5. 5共話數(shù)字標牌未來-infocomm展視頻訪談
  6. 6從用戶角度談金融數(shù)字標牌網絡的十大問題
  7. 7Platt:數(shù)字標牌系統(tǒng)在餐飲業(yè)中的應用
  8. 8郭曼讓航美成為"媒體巨人"
  9. 9航美傳媒郭曼:資本市場精彩故事剛開始
  10. 10Purplemoss:數(shù)字標牌產業(yè)發(fā)展超預期
  1. 1家用720P雙3D投影機--Acer H5360評測
  2. 2投影時代大屏評選盛典:LED顯示屏精品產品匯
  3. 3數(shù)字電子看板的產業(yè)標準化問題探討會議
  4. 4全國首測!NEC投影機新品 NP305+ 實拍效果賞
  5. 5e時代首選 康佳LC55TS88EN液晶電視評測
  6. 6捷卡瑪HD-720P微型高清數(shù)字投影機評測
  7. 7宏碁、酷樂視、奧圖碼、愛普泰克主力掌上投
  8. 8漢王創(chuàng)藝高手+無線0604對比WACOM  BAMBOO F
  9. 9白衣助教 維度X450投影機詳評
  10. 10維優(yōu)家用產品《高性價比,“大”有魅力》
  1. 1福建放大器招標公告
  2. 2神華神東電力有限責任公司高清視頻會議系統(tǒng)
  3. 3茶山公安分局、茶山文化執(zhí)法分隊會議系統(tǒng)采
  4. 4廈門國際航空港食品有限公司監(jiān)控系統(tǒng)采購
  5. 5永康市公安局監(jiān)控系統(tǒng)采購
  6. 6惠州商業(yè)學校投影機、中控系統(tǒng)等采購
  7. 7甘肅省無線監(jiān)測指揮中心DLP大屏招標
  8. 8天臺縣氣象局大屏幕綜合顯示系統(tǒng)采購
  9. 9廣東省肇慶市氣象局大屏幕/中控招標
  10. 10海淀區(qū)中關村第一小學液晶投影機/吊架/燈泡
  1. 1銳取助力世界首屆內鏡醫(yī)師大會
  2. 2銳取為2009年中國電力企業(yè)信息化發(fā)展高層論
  3. 3菱杰酷樂迪音響傾力打造山西晉城娛樂航母
  4. 4酷樂迪音響助陣湖南益陽頂級娛樂會所
  5. 5CREATOR快捷產品應用于深圳桑達電子集團!
  6. 6寶利通商務會議電話遼寧儲蓄銀行電話會議系
  7. 7Ymioo優(yōu)麥會議系統(tǒng)成功應用于東臺國際大酒店
  8. 8雙流電子完成亞洲最大超窄邊液晶拼接
  9. 9宏程十寸線性助力印度班加羅爾音樂節(jié)
  10. 10湖南株洲蘇荷酒吧改造工程已調試完畢
設為首頁 | 商務信息 | 視聽資訊 | 本站動態(tài) | 關于中國視聽網 | 網站地圖 | 網站RSS | 視聽3G | 友情鏈接
本站網絡實名:中國視聽網 | 視聽網 | 視聽產品報價 國際域名:http://bfsiu021.cn
版權所有 1999 中國視聽網 郵箱:web@av-china.com 電話:+86-755-33225360(十二線) 傳真:+86-755-33010311
深圳網絡警
察報警平臺
公共信息安
全網絡監(jiān)察
經營性網站
備案信息
不良信息
舉報中心
中國文明網
傳播文明