資源描述:
《實(shí)時傳輸協(xié)議(rtp)和實(shí)時控制協(xié)議(rtcp》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實(shí)時傳輸協(xié)議(RTP)和實(shí)時控制協(xié)議(RTCP公告:2010年SD2.0大會即將在上海召開了~歷屆參會網(wǎng)友精彩心得集錦[意見反饋][官方博客]實(shí)時傳輸協(xié)議(RTP)和實(shí)時控制協(xié)議(RTCP)收藏RTP是一種提供端對端傳輸服務(wù)的實(shí)時傳輸協(xié)議,用來支持在單目標(biāo)廣播和多目標(biāo)廣播網(wǎng)絡(luò)服務(wù)中傳輸實(shí)時數(shù)據(jù),而實(shí)時數(shù)據(jù)的傳輸則由RTCP協(xié)議來監(jiān)視和控制。RTP定義在RFC使用RTP協(xié)議的應(yīng)用程序運(yùn)行在RTP之上,而執(zhí)行RTP的程序運(yùn)行在UDP的上層,目的是為了使用UDP的端口號和檢查和。如圖16-12所示,RTP可以看成是傳輸層的子層。由多媒體應(yīng)用程序生成的聲音和電視數(shù)據(jù)塊被封裝在RT
2、P信息包中,每個RTP信息包被封裝在UDP消息段中,然后再封裝在IP數(shù)據(jù)包中。1889中。信息包的結(jié)構(gòu)包含廣泛用于多媒體的若干個域,包括聲音點(diǎn)播(audio-on-demand)、影視點(diǎn)播(videoondemand)、因特網(wǎng)電話(Internettelephony)和電視會議(videoconferencing)。RTP的規(guī)格沒有對聲音和電視的壓縮格式制定標(biāo)準(zhǔn),它可以被用來傳輸普通格式的文件。例如,WAV或者GSM(GlobalSystemforMobilecommunications)格式的聲音、MPEG-1和MPEG-2的電視,也可以用來傳輸專有格式存儲的聲音和電視
3、文件。 TCP/IP模型 應(yīng)用層(application)傳輸層RTP UDP IP 數(shù)據(jù)鏈路層(datalink) 物理層(physical)圖16-12RTP是傳輸層上的協(xié)議從應(yīng)用開發(fā)人員的角度來看,可把RTP執(zhí)行程序看成是應(yīng)用程序的一部分,因?yàn)殚_發(fā)人員必需把RTP集成到應(yīng)用程序中。在發(fā)送端,開發(fā)人員必需把執(zhí)行RTP協(xié)議的程序?qū)懭氲絼?chuàng)建RTP信息包的應(yīng)用程序中,然后應(yīng)用程序把RTP信息包發(fā)送到UDP的套接接口(socketinterface),如圖16-13所示;同樣,在接收端,RTP信息包通過UDP套接接口輸入到應(yīng)用程序,因此開發(fā)人員必需把執(zhí)行RTP協(xié)議的程序?qū)懭氲?/p>
4、從RTP信息包中抽出媒體數(shù)據(jù)的應(yīng)用程序。TCP/IP模型 應(yīng)用層(application) RTP 套接接口UDP IP 數(shù)據(jù)鏈路層(datalink) 物理層(physical) 圖16-13RTP和UDP之間的接口現(xiàn)以用RTP傳輸聲音為例來說明它的工作過程。假設(shè)音源的聲音是64kb/s的PCM編碼聲音,并假設(shè)應(yīng)用程序取20毫秒的編碼數(shù)據(jù)為一個數(shù)據(jù)塊(chunk),即在一個數(shù)據(jù)塊中有160個字節(jié)的聲音數(shù)據(jù)。應(yīng)用程序需要為這塊聲音數(shù)據(jù)添加RTP標(biāo)題生成RTP信息包,這個標(biāo)題包括聲音數(shù)據(jù)的類型、順序號和時間戳。然后RTP信息包被送到UDP套接接口,在那里再被封裝在UDP信息
5、包中。在接收端,應(yīng)用程序從套接接口處接收RTP信息包,并從RTP信息包中抽出聲音數(shù)據(jù)塊,然后使用RTP信息包的標(biāo)題域中的信息正確地譯碼和播放聲音。如果應(yīng)用程序不使用專有的方案來提供有效載荷類型(payloadtype)、順序號或者時間戳,而是使用標(biāo)準(zhǔn)的RTP協(xié)議,應(yīng)用程序就更容易與其他的網(wǎng)絡(luò)應(yīng)用程序配合運(yùn)行,這是大家都希望的事情。例如,如果有兩個不同的公司都在開發(fā)因特網(wǎng)電話軟件,他們都把RTP合并到他們的產(chǎn)品中,這樣就有希望:使用不同公司電話軟件的用戶之間能夠進(jìn)行通信。這里需要強(qiáng)調(diào)的是,RTP本身不提供任何機(jī)制來確保把數(shù)據(jù)及時遞送到接收端或者確保其他的服務(wù)質(zhì)量,它也不擔(dān)保
6、在遞送過程中不丟失信息包或者防止信息包的次序不被打亂。的確,RTP的封裝只是在系統(tǒng)端才能看到,中間的路由器并不區(qū)分那個IP數(shù)據(jù)報(bào)是運(yùn)載RTP信息包的。RTP允許給每個媒體源分配一個單獨(dú)的RTP信息包流,例如,攝像機(jī)或者麥克風(fēng)。例如,有兩個團(tuán)體參與的電視會議,這就可能打開4個信息包流:兩臺攝像機(jī)傳送電視流和兩個麥克風(fēng)傳送聲音流。然而,許多流行的編碼技術(shù),包括MPEG-1和MPEG-2在編碼過程中都把聲音和電視圖像捆綁在一起以形成單一的數(shù)據(jù)流,一個方向就生成一個RTP信息包流。RTP信息包沒有被限制只可應(yīng)用于單目標(biāo)廣播,它們也可以在一對多(one-to-many)的多目標(biāo)廣播
7、樹或者在多對多(many-to-many)的多目標(biāo)廣播樹上傳送。例如,多對多的多目標(biāo)廣播,在這種應(yīng)用場合下,所有發(fā)送端通常都把他們的RTP信息包流發(fā)送到具有相同多目標(biāo)廣播地址的多目標(biāo)廣播樹上。16.6.2RTP信息包標(biāo)題域RTP標(biāo)題由4個信息包標(biāo)題域和其他域組成:有效載荷類型(payloadtype)域,順序號(sequencenumber)域,時間戳(timestamp)域和同步源標(biāo)識符(SynchronizationSourceIdentifier)域等。RTP信息包的標(biāo)題域的結(jié)構(gòu)如下圖所示:PayloadType(有效載