RTP RTSP RTCP有什麼區別?

2021-07-14 02:12:35 字數 1497 閱讀 3985

rtp/rtsp/rtcp的區別 用一句簡單的話總結:rtsp發起/終結流**、rtp傳輸流**資料 、rtcp對rtp進行控制,同步。

之所以以前對這幾個有點分不清,是因為ctc標準裡沒有對rtcp進行要求,因此在標準rtsp的**中沒有看到相關的部分。而在私有rtsp的**中,有關控制、同步等,是在rtp header中做擴充套件定義實現的

另外,rfc3550可以看作是rfc1889的公升級文件,只看rfc3550即可。

rtsp:實時流協議(real time streaming protocol,rtsp)

rtcp:

以下是每個協議的概要介紹:

一、rtp資料協議

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

rtcp資料報攜帶有服務質量監控的必要資訊,能夠對服務質量進行動態的調整,並能夠對網路擁塞進行有效的控制。由於rtcp資料報採用的是多播方式,因此會話中的所有成員都可以通過rtcp資料報返回的控制資訊,來了解其他參與者的當前情況。

在乙個典型的應用場合下,傳送**流的應用程式將周期性地產生傳送端報告sr,該rtcp資料報含有不同**流間的同步資訊,以及已經傳送的資料報和位元組 的計數,接收端根據這些資訊可以估計出實際的資料傳輸速率。另一方面,接收端會向所有已知的傳送端傳送接收端報告rr,該rtcp資料報含有已接收資料報 的最大序列號、丟失的資料報數目、延時抖動和時間戳等重要資訊,傳送端應用根據這些資訊可以估計出往返時延,並且可以根據資料報丟失概率和時延抖動情況動 態調整傳送速率,以改善網路擁塞狀況,或者根據網路狀況平滑地調整應用程式的服務質量。

三、rtsp實時流協議

作為乙個應用層協議,rtsp提供了乙個可供擴充套件的框架,它的意義在於使得實時流**資料的受控和點播變得可能。總的說來,rtsp是乙個流**表示協議,主要用來控制具有實時特性的資料傳送,但它本身並不傳輸資料,而是必須依賴於下層傳輸協議所提供的某些服務。

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等)。

HashMap, HashTable有什麼區別?

跟hashmap相比hashtable是執行緒安全的,適合在多執行緒的情況下使用,但是他在對資料操作的時候都會上synchronzied鎖,所以效率比較低下。hashtable 是不允許鍵或值為 null 的,hashmap 的鍵值則都可以為 null。這是因為hashtable使用的是安全失敗機制...

SRAM DRAM Flash DDR有什麼區別

sram sram的全稱是static rnadom access memory,翻譯過來即靜態隨機儲存器。這裡的靜態是指這種儲存器只需要保持通電,裡面的資料就可以永遠保持。但是當斷點之後,裡面的資料仍然會丟失。由於sram的成本很高,所以像諸如cpu的快取記憶體,才會採用sram。dram dra...

SAS scsi sata ide硬碟有什麼區別

sata是serial ata的縮寫,即序列ata。這是一種完全不同於並行ata的新型硬碟介面型別,由於採用序列方式傳輸資料而得名。sata匯流排使用嵌入式時鐘訊號,具備了更強的糾錯能力,與以往相比其最大的區別在於能對傳輸指令 不僅僅是資料 進行檢查,如果發現錯誤會自動矯正,這在很大程度上提高了資料...