RTP定議
RTP(RealTimeTransportProtocol )實(shí)時傳輸協(xié)議的縮寫定義了用于通過Internet傳輸音頻和視頻的標(biāo)準(zhǔn)數(shù)據(jù)包格式。它在RFC1889中定義。它由音頻視頻傳輸工作組開發(fā),并于1996年首次發(fā)布。RTP廣泛用于涉及流媒體的通信和娛樂系統(tǒng),例如電話,視頻電話會議應(yīng)用程序,電視服務(wù)和基于Web的一鍵通功能。
RTP與RTP控制協(xié)議(RTCP)結(jié)合使用。RTP承載媒體流(例如,音頻和視頻),RTCP用于監(jiān)控傳輸統(tǒng)計信息和服務(wù)質(zhì)量(QoS),并幫助同步多個流。RTP在偶數(shù)端口號上發(fā)起和接收,關(guān)聯(lián)的RTCP通信使用下一個更高的奇數(shù)端口號。RTP是VoIP的基礎(chǔ)之一,它與SIP結(jié)合使用,SIP有助于通過網(wǎng)絡(luò)建立連接。
RTP的歷史:
該協(xié)議由四名成員組成的互聯(lián)網(wǎng)工程任務(wù)組(IETF)開發(fā):
S.Casner(PacketDesign)
V.雅各布森(數(shù)據(jù)包設(shè)計)
H.舒爾茨林(哥倫比亞大學(xué))
R.Frederick(BlueCoatSystemsInc.)
RTP于1996年首次發(fā)布,稱為RFC1889。接下來,它于2003年發(fā)布,名稱為RFC3550。
RTP的應(yīng)用:
RTP主要有助于媒體混合,排序和時間戳。
互聯(lián)網(wǎng)協(xié)議語音(VoIP)
通過互聯(lián)網(wǎng)進(jìn)行視頻電話會議。
互聯(lián)網(wǎng)音頻和視頻流。
RTP報頭格式:
RTP報文的報頭格式圖示如下圖所示:
RTP的標(biāo)頭格式非常簡單,它涵蓋了所有實(shí)時應(yīng)用程序。標(biāo)題格式的每個字段的說明如下:
版本:
此2位字段定義版本號。當(dāng)前版本為2。
P–此字段的長度為1位。如果值為1,則表示數(shù)據(jù)包末尾存在填充,如果值為0,則沒有填充。
X–此字段的長度也是1位。如果此字段的值設(shè)置為1,則它表示數(shù)據(jù)和基本標(biāo)頭之間有一個額外的擴(kuò)展標(biāo)頭,如果值為0,則沒有額外的擴(kuò)展名。
參與者計數(shù)–此4位字段指示參與者數(shù)。此處,最大可能的貢獻(xiàn)者數(shù)為15,因?yàn)?位字段可以允許數(shù)字形式為0到15。
M–此字段的長度為1位,應(yīng)用程序?qū)⑵溆米鹘Y(jié)束標(biāo)記以指示其數(shù)據(jù)的結(jié)束。
負(fù)載類型–此字段的長度為7位,用于指示負(fù)載類型。我們列出了一些常見類型的有效載荷的應(yīng)用。
負(fù)載類型
編碼名稱
0
微音頻
1
1016
2
G721音頻
3
GSM音頻
5-6
DV14音頻
7
液晶屏音頻
8
PCMAAudio
9
G722音頻
10-11
L16音頻
14
MPEG音頻
15
G728音頻
26
運(yùn)動JPEG
31
H.216
32
MPEG1視頻
33
MPEG2視頻
有效負(fù)載類型是一個唯一的數(shù)字,以RTP標(biāo)頭格式以7位表示。每個有效負(fù)載類型都指示音頻/視頻媒體的特定編碼。允許RTP源在給定時間發(fā)送單個有效負(fù)載類型。此字段主要指定媒體流中使用的編解碼器類型。
例如,如果我們使用“1”作為編碼名稱為1016的有效負(fù)載類型,則意味著它將對媒體流使用FS-1016語音編碼。
如果我們使用編碼名稱為H.261的“31”有效載荷類型,則意味著它將使用ITU-T視頻壓縮標(biāo)準(zhǔn)。同樣,每個有效負(fù)載類型的數(shù)量都表示用于音頻/視頻流的特定編碼類型。
序列號–此字段的長度為16位。它用于為RTP數(shù)據(jù)包提供序列號。它有助于排序。第一個數(shù)據(jù)包的序列號被賦予一個隨機(jī)數(shù),然后每個下一個數(shù)據(jù)包的序列號遞增1。此字段主要有助于檢查丟失的數(shù)據(jù)包和順序不匹配。
時間戳–此字段的長度為32位。它用于查找不同RTP數(shù)據(jù)包的時間之間的關(guān)系。第一個數(shù)據(jù)包的時間戳是隨機(jī)給出的,然后是下一個數(shù)據(jù)包的時間戳,由上一個時間戳和生成當(dāng)前數(shù)據(jù)包的第一個字節(jié)所花費(fèi)的時間之和給出。1時鐘周期的值因應(yīng)用而異。
同步源標(biāo)識符–這是一個32位字段,用于標(biāo)識和定義源。此源標(biāo)識符的值是由源本身選擇的隨機(jī)數(shù)。這主要有助于解決當(dāng)兩個源以相同的序列編號開始時出現(xiàn)的沖突。
參與者標(biāo)識符–這也是一個32位字段,用于在會話中存在多個源的源標(biāo)識中。混合器源使用同步源標(biāo)識符,其他剩余源(最多15個)使用參與者標(biāo)識符。
通過RTP協(xié)議傳輸?shù)臄?shù)據(jù)如下所示:
增補(bǔ)噪聲