青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Xiao.Zhu C++

Xiao.Zhu C++

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  29 隨筆 :: 14 文章 :: 17 評論 :: 0 Trackbacks
RTP
 

流媒體指的是在網絡中使用流技術傳輸的連續時基媒體,其特點是在播放前不需要下載整個文件,而是采用邊下載邊播放的方式,它是視頻會議、IP電話等應用場合的技術基礎。RTP是進行實時流媒體傳輸的標準協議和關鍵技術,本文介紹如何在Linux下利用JRTPLIB進行實時流媒體編程。 

  

一、流媒體簡介
        
隨著Internet的日益普及,在網絡上傳輸的數據已經不再局限于文字和圖形,而是逐漸向聲音和視頻等多媒體格式過渡。目前在網絡上傳輸音頻/視頻(Audio/Video,簡稱A/V)等多媒體文件時,基本上只有下載和流式傳輸兩種選擇。通常說來,A/V文件占據的存儲空間都比較大,在帶寬受限的網絡環境中下載可能要耗費數分鐘甚至數小時,所以這種處理方法的延遲很大。如果換用流式傳輸的話,聲音、影像、動畫等多媒體文件將由專門的流媒體服務器負責向用戶連續、實時地發送,這樣用戶可以不必等到整個文件全部下載完畢,而只需要經過幾秒鐘的啟動延時就可以了,當這些多媒體數據在客戶機上播放時,文件的剩余部分將繼續從流媒體服務器下載。

 

        流(Streaming)是近年在Internet上出現的新概念,其定義非常廣泛,主要是指通過網絡傳輸多媒體數據的技術總稱。流媒體包含廣義和狹義兩種內涵:廣義上的流媒體指的是使音頻和視頻形成穩定和連續的傳輸流和回放流的一系列技術、方法和協議的總稱,即流媒體技術;狹義上的流媒體是相對于傳統的下載-回放方式而言的,指的是一種從Internet上獲取音頻和視頻等多媒體數據的新方法,它能夠支持多媒體數據流的實時傳輸和實時播放。通過運用流媒體技術,服務器能夠向客戶機發送穩定和連續的多媒體數據流,客戶機在接收數據的同時以一個穩定的速率回放,而不用等數據全部下載完之后再進行回放。

 

由于受網絡帶寬、計算機處理能力和協議規范等方面的限制,要想從Internet上下載大量的音頻和視頻數據,無論從下載時間和存儲空間上來講都是不太現實的,而流媒體技術的出現則很好地解決了這一難題。目前實現流媒體傳輸主要有兩種方法:順序流(progressive streaming)傳輸和實時流(realtime streaming)傳輸,它們分別適合于不同的應用場合。

 

順序流傳輸

 

        順序流傳輸采用順序下載的方式進行傳輸,在下載的同時用戶可以在線回放多媒體數據,但給定時刻只能觀看已經下載的部分,不能跳到尚未下載的部分,也不能在傳輸期間根據網絡狀況對下載速度進行調整。由于標準的HTTP服務器就可以發送這種形式的流媒體,而不需要其他特殊協議的支持,因此也常常被稱作HTTP 流式傳輸。順序流式傳輸比較適合于高質量的多媒體片段,如片頭、片尾或者廣告等。

 

實時流傳輸

 

        實時流式傳輸保證媒體信號帶寬能夠與當前網絡狀況相匹配,從而使得流媒體數據總是被實時地傳送,因此特別適合于現場事件。實時流傳輸支持隨機訪問,即用戶可以通過快進或者后退操作來觀看前面或者后面的內容。從理論上講,實時流媒體一經播放就不會停頓,但事實上仍有可能發生周期性的暫停現象,尤其是在網絡狀況惡化時更是如此。與順序流傳輸不同的是,實時流傳輸需要用到特定的流媒體服務器,而且還需要特定網絡協議的支持。

 

二、流媒體協議
實時傳輸協議(Real-time Transport Protocol,PRT)是在Internet上處理多媒體數據流的一種網絡協議,利用它能夠在一對一(unicast,單播)或者一對多(multicast,多播)的網絡環境中實現傳流媒體數據的實時傳輸。RTP通常使用UDP來進行多媒體數據的傳輸,但如果需要的話可以使用TCP或者 ATM等其它協議,整個RTP協議由兩個密切相關的部分組成:RTP數據協議和RTP控制協議。實時流協議(Real Time Streaming ProtocolRTSP)最早由Real NetworksNetscape公司共同提出,它位于RTPRTCP之上,其目的是希望通過IP網絡有效地傳輸多媒體數據。

 

2.1 RTP數據協議

 

RTP數據協議負責對流媒體數據進行封包并實現媒體流的實時傳輸,每一個RTP數據報都由頭部(Header)和負載(Payload)兩個部分組成,其中頭部前12個字節的含義是固定的,而負載則可以是音頻或者視頻數據。RTP數據報的頭部格式如圖1所示:

 

 
1 RTP頭部格式

 

其中比較重要的幾個域及其意義如下: 

 

  • CSRC記數(CC  表示CSRC標識的數目。CSRC標識緊跟在RTP固定頭部之后,用來表示RTP數據報的來源,RTP協議允許在同一個會話中存在多個數據源,它們可以通過RTP混合器合并為一個數據源。例如,可以產生一個CSRC列表來表示一個電話會議,該會議通過一個 RTP混合器將所有講話者的語音數據組合為一個RTP數據源。 
  • 負載類型(PT  標明RTP負載的格式,包括所采用的編碼算法、采樣頻率、承載通道等。例如,類型2表明該RTP數據包中承載的是用ITU G.721算法編碼的語音數據,采樣頻率為8000Hz,并且采用單聲道。 
  • 序列號  用來為接收方提供探測數據丟失的方法,但如何處理丟失的數據則是應用程序自己的事情,RTP協議本身并不負責數據的重傳。 
  • 時間戳  記錄了負載中第一個字節的采樣時間,接收方能夠時間戳能夠確定數據的到達是否受到了延遲抖動的影響,但具體如何來補償延遲抖動則是應用程序自己的事情。 

RTP 數據報的格式不難看出,它包含了傳輸媒體的類型、格式、序列號、時間戳以及是否有附加數據等信息,這些都為實時的流媒體傳輸提供了相應的基礎。RTP協議的目的是提供實時數據(如交互式的音頻和視頻)的端到端傳輸服務,因此在RTP中沒有連接的概念,它可以建立在底層的面向連接或面向非連接的傳輸協議之上;RTP也不依賴于特別的網絡地址格式,而僅僅只需要底層傳輸協議支持組幀(Framing)和分段(Segmentation)就足夠了;另外RTP 本身還不提供任何可靠性機制,這些都要由傳輸協議或者應用程序自己來保證。在典型的應用場合下,RTP 一般是在傳輸協議之上作為應用程序的一部分加以實現的,如圖2所示:

 


2 RTP與各種網絡協議的關系

 

2.2 RTCP控制協議

 

RTCP 控制協議需要與RTP數據協議一起配合使用,當應用程序啟動一個RTP會話時將同時占用兩個端口,分別供RTP RTCP使用。RTP本身并不能為按序傳輸數據包提供可靠的保證,也不提供流量控制和擁塞控制,這些都由RTCP來負責完成。通常RTCP會采用與 RTP相同的分發機制,向會話中的所有成員周期性地發送控制信息,應用程序通過接收這些數據,從中獲取會話參與者的相關資料,以及網絡狀況、分組丟失概率等反饋信息,從而能夠對服務質量進行控制或者對網絡狀況進行診斷。

 

RTCP協議的功能是通過不同的RTCP數據報來實現的,主要有如下幾種類型: 

 

  • SR  發送端報告,所謂發送端是指發出RTP數據報的應用程序或者終端,發送端同時也可以是接收端。 
  • RR  接收端報告,所謂接收端是指僅接收但不發送RTP數據報的應用程序或者終端。 
  • SDES  源描述,主要功能是作為會話成員有關標識信息的載體,如用戶名、郵件地址、電話號碼等,此外還具有向會話成員傳達會話控制信息的功能。 
  • BYE  通知離開,主要功能是指示某一個或者幾個源不再有效,即通知會話中的其他成員自己將退出會話。 
  • APP  由應用程序自己定義,解決了RTCP的擴展性問題,并且為協議的實現者提供了很大的靈活性。 

RTCP數據報攜帶有服務質量監控的必要信息,能夠對服務質量進行動態的調整,并能夠對網絡擁塞進行有效的控制。由于RTCP數據報采用的是多播方式,因此會話中的所有成員都可以通過RTCP數據報返回的控制信息,來了解其他參與者的當前情況。

 

在一個典型的應用場合下,發送媒體流的應用程序將周期性地產生發送端報告SR,該RTCP數據報含有不同媒體流間的同步信息,以及已經發送的數據報和字節的計數,接收端根據這些信息可以估計出實際的數據傳輸速率。另一方面,接收端會向所有已知的發送端發送接收端報告RR,該RTCP數據報含有已接收數據報的最大序列號、丟失的數據報數目、延時抖動和時間戳等重要信息,發送端應用根據這些信息可以估計出往返時延,并且可以根據數據報丟失概率和時延抖動情況動態調整發送速率,以改善網絡擁塞狀況,或者根據網絡狀況平滑地調整應用程序的服務質量。

 

2.3 RTSP實時流協議

 

作為一個應用層協議,RTSP提供了一個可供擴展的框架,它的意義在于使得實時流媒體數據的受控和點播變得可能??偟恼f來,RTSP是一個流媒體表示協議,主要用來控制具有實時特性的數據發送,但它本身并不傳輸數據,而是必須依賴于下層傳輸協議所提供的某些服務。RTSP 可以對流媒體提供諸如播放、暫停、快進等操作,它負責定義具體的控制消息、操作方法、狀態碼等,此外還描述了與RTP間的交互操作。

 

RTSP 在制定時較多地參考了HTTP/1.1協議,甚至許多描述與HTTP/1.1完全相同。RTSP之所以特意使用與HTTP/1.1類似的語法和操作,在很大程度上是為了兼容現有的Web基礎結構,正因如此,HTTP/1.1的擴展機制大都可以直接引入到RTSP 中。

 

RTSP 控制的媒體流集合可以用表示描述(Presentation Description)來定義,所謂表示是指流媒體服務器提供給客戶機的一個或者多個媒體流的集合,而表示描述則包含了一個表示中各個媒體流的相關信息,如數據編碼/解碼算法、網絡地址、媒體流的內容等。

 

雖然RTSP服務器同樣也使用標識符來區別每一流連接會話(Session),但RTSP連接并沒有被綁定到傳輸層連接(如TCP等),也就是說在整個 RTSP連接期間,RTSP用戶可打開或者關閉多個對RTSP服務器的可靠傳輸連接以發出RTSP 請求。此外,RTSP連接也可以基于面向無連接的傳輸協議(如UDP等)。

 

RTSP協議目前支持以下操作: 

 

  • 檢索媒體  允許用戶通過HTTP或者其它方法向媒體服務器提交一個表示描述。如表示是組播的,則表示描述就包含用于該媒體流的組播地址和端口號;如果表示是單播的,為了安全在表示描述中應該只提供目的地址。 
  • 邀請加入  媒體服務器可以被邀請參加正在進行的會議,或者在表示中回放媒體,或者在表示中錄制全部媒體或其子集,非常適合于分布式教學。 
  • 添加媒體  通知用戶新加入的可利用媒體流,這對現場講座來講顯得尤其有用。與HTTP/1.1類似,RTSP請求也可以交由代理、通道或者緩存來進行處理。 

三、流媒體編程 
RTP 
是目前解決流媒體實時傳輸問題的最好辦法,如果需要在Linux平臺上進行實時流媒體編程,可以考慮使用一些開放源代碼的RTP庫,如LIBRTP、 JRTPLIB等。JRTPLIB是一個面向對象的RTP庫,它完全遵循RFC 1889設計,在很多場合下是一個非常不錯的選擇,下面就以JRTPLIB為例,講述如何在Linux平臺上運用RTP協議進行實時流媒體編程。

 

3.1 環境搭建

 

JRTPLIB 是一個用C++語言實現的RTP庫,目前已經可以運行在Windows、LinuxFreeBSD、 SolarisUnixVxWorks等多種操作系統上。要為Linux 系統安裝JRTPLIB,首先從JRTPLIB的網站(http: //lumumba.luc.ac.be/jori/jrtplib/jrtplib.html)下載最新的源碼包,此處使用的是jrtplib- 2.7b.tar.bz2。假設下載后的源碼包保存在/usr/local/src目錄下,執行下面的命令可以對其進行解壓縮:

 



[root@linuxgam src]# bzip2 -dc jrtplib-2.7b.tar.bz2 | tar xvf -

 

posted on 2007-08-08 16:38 Xiao.Zhu 閱讀(1464) 評論(1)  編輯 收藏 引用 所屬分類: RTP

評論

# re: RTP 2008-06-21 00:51 地磅解碼器
fsfs  回復  更多評論
  


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美高清在线一区| 日韩一级精品| 一区二区三区日韩欧美精品| 91久久久国产精品| 在线免费观看日本一区| 亚洲国产黄色片| 亚洲精品美女免费| 一区二区三区国产精华| 亚洲欧美中文字幕| 久久亚洲国产精品一区二区| 美日韩免费视频| 91久久久久久| 亚洲欧洲中文日韩久久av乱码| av不卡在线看| 久久久国产视频91| 欧美午夜免费影院| **网站欧美大片在线观看| 一区二区不卡在线视频 午夜欧美不卡'| 99视频一区二区三区| 久久激情一区| 亚洲国产综合在线看不卡| 国产目拍亚洲精品99久久精品 | 国产欧美一级| 亚洲大胆人体在线| 亚洲嫩草精品久久| 老司机午夜精品视频| 亚洲毛片在线看| 久久国产精品高清| 欧美无乱码久久久免费午夜一区 | 亚洲视频在线播放| 久久久蜜臀国产一区二区| 国产精品毛片在线看| 亚洲卡通欧美制服中文| 久久女同精品一区二区| 艳妇臀荡乳欲伦亚洲一区| 久久一区中文字幕| 国产日产精品一区二区三区四区的观看方式 | 欧美日本韩国一区| 尤物九九久久国产精品的特点 | 亚洲电影有码| 欧美在线3区| 正在播放亚洲| 欧美日本不卡高清| 亚洲精品麻豆| 欧美大片一区二区三区| 欧美资源在线| 国产午夜精品理论片a级探花 | 亚洲一区二区av电影| 欧美激情视频在线免费观看 欧美视频免费一 | 久久久亚洲一区| 亚洲一区二区动漫| 国产精品福利网站| 亚洲欧美中文另类| 一区二区三区精品久久久| 欧美成人精品影院| 亚洲国产精品一区二区久| 久久看片网站| 久久精品亚洲一区| 亚洲一区综合| 看欧美日韩国产| 久久精品国产第一区二区三区最新章节| 国产精品久久久久9999高清| 亚洲色图自拍| 亚洲午夜激情网页| 国产欧美欧洲在线观看| 久久av最新网址| 久久av一区二区| 怡红院av一区二区三区| 欧美大片在线影院| 欧美精品免费播放| 一区二区不卡在线视频 午夜欧美不卡在 | 久久精品在线播放| 在线观看av不卡| 欧美激情视频一区二区三区在线播放| 久久亚洲视频| 一本一本久久a久久精品综合麻豆| 亚洲精品美女在线观看| 欧美午夜不卡| 久久色在线观看| 牛夜精品久久久久久久99黑人| 亚洲精品韩国| 在线综合视频| 激情成人综合| 99riav国产精品| 狠狠色香婷婷久久亚洲精品| 亚洲国产婷婷香蕉久久久久久99| 欧美日韩亚洲天堂| 久久久av毛片精品| 欧美激情亚洲精品| 久久精品导航| 欧美激情视频一区二区三区免费| 欧美亚洲在线| 欧美freesex8一10精品| 午夜精品久久久| 你懂的网址国产 欧美| 亚洲欧美视频在线观看视频| 久久综合九色综合欧美狠狠| 亚洲午夜久久久久久尤物 | 久久婷婷国产综合精品青草| 欧美成人一区二免费视频软件| 亚洲淫性视频| 美女视频一区免费观看| 午夜精品久久久久久久蜜桃app| 久久久亚洲精品一区二区三区 | 午夜精品久久久久影视| 亚洲三级色网| 午夜精品一区二区三区在线| 亚洲一区二区av电影| 99国产精品99久久久久久| 亚洲精品护士| 狠狠色狠色综合曰曰| 日韩一区二区免费高清| 狠狠噜噜久久| 亚洲私拍自拍| 日韩一区二区精品| 久久久精品日韩| 欧美一区二区三区在线| 欧美日韩综合网| 亚洲第一色中文字幕| 国产色婷婷国产综合在线理论片a| 一本久久知道综合久久| 久久中文字幕导航| 久久久久九九视频| 国产精品美女久久久| 亚洲精品在线视频观看| 日韩视频一区二区三区在线播放免费观看 | 欧美精品粉嫩高潮一区二区| 久久免费视频一区| 国产午夜精品在线| 亚洲欧美日韩人成在线播放| 亚洲综合色激情五月| 欧美视频一区在线观看| 亚洲精品视频免费观看| 亚洲三级国产| 欧美精品一区二区三区一线天视频| 欧美大胆人体视频| 在线精品亚洲一区二区| 久久免费黄色| 欧美sm视频| 亚洲女同精品视频| 午夜日韩电影| 国产美女精品人人做人人爽| 亚洲一区在线看| 欧美午夜一区| 亚洲伊人一本大道中文字幕| 亚洲女人天堂成人av在线| 国产精品99一区| 亚洲欧美日本国产专区一区| 欧美一区二区久久久| 国产亚洲欧洲997久久综合| 新狼窝色av性久久久久久| 久久视频国产精品免费视频在线 | 国产欧美精品一区| 欧美一区二区三区在线观看视频| 久久高清国产| 有坂深雪在线一区| 欧美黄免费看| 一区二区高清在线| 欧美一区二区三区免费大片| 国产午夜精品久久久久久久| 开元免费观看欧美电视剧网站| 亚洲国产日韩在线| 亚洲欧美网站| 亚洲欧洲精品一区| 国产精品久久久久久久浪潮网站 | 久久九九免费| 欧美一级黄色录像| 激情亚洲一区二区三区四区| 久久午夜国产精品| 亚洲免费观看高清完整版在线观看熊 | 99re这里只有精品6| 欧美—级a级欧美特级ar全黄| 日韩一级在线| 久久综合综合久久综合| 99在线热播精品免费| 国产一区二区三区久久 | 欧美四级在线| 久久精品国产在热久久| 一个色综合导航| 麻豆国产精品va在线观看不卡| 99国产麻豆精品| 国产小视频国产精品| 欧美精品麻豆| 老司机免费视频一区二区三区| 亚洲视频在线观看一区| 91久久线看在观草草青青| 性欧美办公室18xxxxhd| 99精品视频免费观看视频| 一区二区三区在线视频观看| 国产精品日韩欧美一区| 欧美精品一区二区在线播放| 久久久久99| 性欧美超级视频| 亚洲视频在线观看三级| 亚洲日本在线视频观看| 牛牛国产精品| 久热re这里精品视频在线6| 欧美亚洲视频| 欧美在线观看视频一区二区| 亚洲欧美日韩精品久久久|