1)RTP是實時數據傳輸協議。它提供時間標誌,序列號以及其它能夠保證在實時數據傳輸時處理時間的方法;它是依靠RVSP保證服務質量標準的。
2)RTCP是RTP的控制部分,是用來保證服務質量和成員管理的。
3)RTSP是開始和指引流媒體數據從流媒體服務器。它又可叫做"網上錄像機控制協議".它是提供遠程的控制,具體的數據傳輸是交給RTP的。
2.RTP/RTCP協議層次和封裝
RTP位於傳輸層(通常是UDP)之上,應用程序之下,實時語音、視頻數據經過模數轉換和壓縮編碼處理後,先送給RTP封裝成爲RTP數據單元,RTP數據單元被封裝爲UDP數據報,然後再向下遞交給IP封裝爲IP數據包。
RTP分組只包含RTP數據,而控制是由另一個配套協議RTCP提供。RTP在端口號1025到65535之間選擇一個未使用的偶數UDP端口號,而在同一次會話中的RTCP則使用下一個奇數UDP端口號。
RTP通常和RTCP一起工作,在RTP會話期間,各參與者週期的發送RTCP消息。RTCP消息含有已發送數據的丟包統計和網絡擁塞等信息,服務器可以利用這些信息動態的改變傳輸速率,甚至改變淨荷的類型。RTCP消息也被封裝爲UDP數據報進行傳輸。
version (V): 2 bits
標明RTP版本號。協議初始版本爲0,RFC3550中規定的版本號爲2。
padding (P): 1 bit
如果該位被設置,則在該packet末尾包含了額外的附加信息,附加信息的最後一個字節表示額外附加信息的長度(包含該字節本身)。該字段之所以存在是因爲一些加密機制需要固定長度的數據塊,或者爲了在一個底層協議數據單元中傳輸多個RTP packets。
extension (X): 1 bit
如果該位被設置,則在固定的頭部後存在一個擴展頭部,格式定義在RFC3550 5.3.1節。
CSRC count (CC): 4 bits
在固定頭部後存在多少個CSRC標記。
marker (M): 1 bit
該位的功能依賴於profile的定義。profile可以改變該位的長度,但是要保持marker和payload type總長度不變(一共是8 bit)。
payload type (PT): 7 bits
標記着RTP packet所攜帶信息的類型,標準類型列出在RFC3551中。如果接收方不能識別該類型,必須忽略該packet。
sequence number: 16 bits
序列號,每個RTP packet發送後該序列號加1,接收方可以根據該序列號重新排列數據包順序。
timestamp: 32 bits
時間戳。反映RTP packet所攜帶信息包中第一個字節的採樣時間。
SSRC: 32 bits
數據源標識。在一個RTP Session其間每個數據流都應該有一個不同的SSRC。
CSRC list: 0 to 15 items, 每個源標識32 bits
貢獻數據源標識。只有存在Mixer的時候纔有效。如一個將多聲道的語音流合併成一個單聲道的語音流,在這裏就列出原來每個聲道的SSRC。