用一句簡單的話總結:rtsp發起/終結流**、rtp傳輸流**資料 、rtcp對rtp進行控制,同步。
之所以以前對這幾個有點分不清,是因為ctc標準裡沒有對rtcp進行要求,因此在標準rtsp的**中沒有看到相關的部分。而在私有rtsp的**中,有關控制、同步等,是在rtp header中做擴充套件定義實現的。
另外,rfc3550可以看作是rfc1889的公升級文件,只看rfc3550即可。
rtsp:實時流協議(real time streaming protocol,rtsp)
rtcp:
以下是每個協議的概要介紹:
一、rtp資料協議
其中比較重要的幾個域及其意義如下:
二、rtcp控制協議
rtcp控制協議需要與rtp資料協議一起配合使用,當應用程式啟動乙個rtp會話時將同時占用兩個埠,分別供rtp和rtcp使用。rtp本身並不能為按序傳輸資料報提供可靠的保證,也不提供流量控制和擁塞控制,這些都由rtcp來負責完成。通常rtcp會採用與rtp相同的分發機制,向會話中的所有成員周期性地傳送控制資訊,應用程式通過接收這些資料,從中獲取會話參與者的相關資料,以及網路狀況、分組丟失概率等反饋資訊,從而能夠對服務質量進行控制或者對網路狀況進行診斷。
rtcp協議的功能是通過不同的rtcp資料報來實現的,主要有如下幾種型別:
rtcp資料報攜帶有服務質量監控的必要資訊,能夠對服務質量進行動態的調整,並能夠對網路擁塞進行有效的控制。由於rtcp資料報採用的是多播方式,因此會話中的所有成員都可以通過rtcp資料報返回的控制資訊,來了解其他參與者的當前情況。
在乙個典型的應用場合下,傳送**流的應用程式將周期性地產生傳送端報告sr,該rtcp資料報含有不同**流間的同步資訊,以及已經傳送的資料報和位元組的計數,接收端根據這些資訊可以估計出實際的資料傳輸速率。另一方面,接收端會向所有已知的傳送端傳送接收端報告rr,該rtcp資料報含有已接收資料報的最大序列號、丟失的資料報數目、延時抖動和時間戳等重要資訊,傳送端應用根據這些資訊可以估計出往返時延,並且可以根據資料報丟失概率和時延抖動情況動態調整傳送速率,以改善網路擁塞狀況,或者根據網路狀況平滑地調整應用程式的服務質量。
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協議目前支援以下操作:
RTP RTCP RTSP 協議區別
用一句簡單的話總結 rtsp發起 終結流 rtp傳輸流 資料 rtcp對rtp進行控制,同步。之所以以前對這幾個有點分不清,是因為ctc標準裡沒有對rtcp進行要求,因此在標準rtsp的 中沒有看到相關的部分。而在私有rtsp的 中,有關控制 同步等,是在rtp header中做擴充套件定義實現的。...
RTP學習(一)RTP RTCP RTSP協議初探
1 下面的圖形象的說明了rtp相關協議的作用 一 產生的背景 這時,基於http的tcp協議無法達到要求,故產生rtp協議來進行多 資料實時傳輸.二 rtp rtcp rtsp協議與tcp ip協議對比 那麼,現在有個疑問是 為什麼tcp ip協議就不能滿足多 通訊的要求呢?這是因為tcp有以下4個...
Tomcat HTTP協議和AJP協議區別
http協議 聯結器監聽8080埠,負責建立http連線。在通過瀏覽器訪問tomcat伺服器的web應用時,使用的就是這個聯結器。ajp協議 聯結器監聽8009埠,負責和其他的http伺服器建立連線。在把tomcat與其他http伺服器整合時,就需要用到這個聯結器。ajp apache jserv ...