實(shí)時(shí)視頻傳輸與控制協(xié)議_第1頁
實(shí)時(shí)視頻傳輸與控制協(xié)議_第2頁
實(shí)時(shí)視頻傳輸與控制協(xié)議_第3頁
實(shí)時(shí)視頻傳輸與控制協(xié)議_第4頁
實(shí)時(shí)視頻傳輸與控制協(xié)議_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、全球眼實(shí)時(shí)視頻傳輸和控制協(xié)議v2修改歷史日期修改人姓名注釋2006-06-23樸希闖創(chuàng)建2006-08-07樸希闖添加說明節(jié)重新排版復(fù)審人日期部門姓名和職務(wù)一、說明這份協(xié)議描述了視頻服務(wù)器與流媒體分發(fā)服務(wù)器、視頻服務(wù)器與企業(yè)客戶端之間傳輸實(shí)時(shí)視 頻的方法。文檔中沒有針對(duì)媒體分發(fā)服務(wù)器與企業(yè)客戶端(第三方播放器)之間的通信方法, 但是媒體分發(fā)服務(wù)器與企業(yè)客戶端(第三方播放器)之間的通信方法尊守 RTC1889和 RPC2326定義的規(guī)范。在這篇文檔里我們把象視頻服務(wù)器這樣能夠給觀看者提供視頻數(shù)據(jù)的設(shè)備稱為邏輯上的服 務(wù)端角色(也就是視頻源),象企業(yè)客戶端這樣播放視頻的終端設(shè)備稱為邏輯上的客戶端角

2、 色(也就是接收者或觀看者)。流媒體分發(fā)服務(wù)器同時(shí)具有兩種角色。交互流程中列出了兩種模式,我們當(dāng)前要先實(shí)現(xiàn)接模式。推模式是為了視頻服務(wù)器在私網(wǎng)環(huán) 境時(shí)也可以通過流媒體發(fā)服務(wù)器向用戶提供視頻服務(wù)。推模式暫不實(shí)現(xiàn)。協(xié)議中沒有提及RTCP協(xié)議,但并不影響視頻通信質(zhì)量,而且目前很難實(shí)現(xiàn)有效的編解碼之 間返饋的處理方法,所以現(xiàn)在,以及將來的一段時(shí)間都不會(huì)考慮RTCP協(xié)議,除非出現(xiàn)有效 的視頻質(zhì)量控制機(jī)制。本文參考RFC 1889、1890、2326、3550完成,如有不符合標(biāo)準(zhǔn)的、或者不完善的陳述,請(qǐng) 提出來,發(fā)電子郵件到piaoxichuang。如果您有更好的想法也可以通過郵件進(jìn)行交流。二、協(xié)議通信方

3、式使用 RTP over TCP方式。(RTC1889、RFC2326)1、一個(gè)完整的包網(wǎng)絡(luò)字節(jié)順序012301234 5 6 701 2 3 4 5 6 70 1 2 3 4 5 6 70 1 2 3 4 5 6 7SS?LengthVPXCCMPTSequence NumberTimestampSynchronization Source (SSRC) IdentifierTPacket TypeLengthPayload(數(shù)據(jù))2、RTP 包的封裝(RTP over TCP)網(wǎng)絡(luò)字節(jié)順序012301234567012345670123456701234567$Channel Identi

4、fierLengthChannel Identifier:取值0。因?yàn)橹挥幸粋€(gè)流在一個(gè)TCP連接中傳遞,同時(shí)不使用RTCP協(xié) 議。參見 RFC 2326 10.12節(jié)。Lenth:取值為RTP包的大小,包括RTP頭部,但不包含本身的4個(gè)字節(jié),以BYTE為單 位。3、RTP 12字節(jié)頭部網(wǎng)絡(luò)字節(jié)順序01230 1234 5 6 701 2 3 4 5 6 70 1 2 3 4 5 6 70 1 2 3 4 5 6 7VPXCCMPTSequence NumberTimestampSynchronization Source (SSRC) IdentifierV:版本,取值2。可能會(huì)使用0值,還沒

5、想清楚,可能的使用情況是為了實(shí)現(xiàn)防火墻穿透 P:附加數(shù)據(jù),取值為0。X:擴(kuò)展頭,取值為1。CC: CSRC列表數(shù)量,取值為0。M:記號(hào),取值0或1。關(guān)于M字段的取值:如果擴(kuò)展頭中T字段為1,則當(dāng)一個(gè)包(RTP Packet)是一個(gè)幀(Sample)的最后一個(gè)包時(shí)取值1,否則取值0;擴(kuò)展頭中T字段為1時(shí), 由于指令長度較小,一個(gè)RTP就可以傳輸完成,所以取值為1。除非要使用多個(gè)RTP包傳 輸,最后一個(gè)RTP包取值為1,前面的包取值為0。PT:負(fù)載類型,動(dòng)態(tài),取值96。參見RFC 1890 7節(jié)。Sequence Number: RTP包的序號(hào),初始值是隨機(jī)的,不是0。Timestamp:以視頻編

6、碼算法提供者的需要填寫或單調(diào)增長的時(shí)間戳。將來可能把這個(gè)值 也傳遞給視頻解碼算法中去。SSRC :隨機(jī)數(shù),用于在同一個(gè)會(huì)話中區(qū)分不同的流。建議使用MD32。UINT Y4If Y = MD5(X) ThenMD32(X) = Y1 A Y A Y3 A Y4注:RTP包大小最大值為2048。(因?yàn)镈SS支持的最大包為2048Bytes)4、RTP擴(kuò)展頭網(wǎng)絡(luò)字節(jié)順序012301234567012345670123456701234567TPacket TypeLengthT:擴(kuò)展頭標(biāo)志,取值0或1。Packet Type:負(fù)載類型。取值見下表:TPacket Type說明01連接請(qǐng)求2連接請(qǐng)求應(yīng)

7、答3視頻頭部11I幀2音頻幀3非1幀Length:擴(kuò)展頭長度,取值0。其中1=4Bytes,不包括當(dāng)前列出的32Bits數(shù)據(jù)。參見RFC 35505.3.1節(jié)。1、Playload 的格式擴(kuò)展頭部定義的Playload類型:T=0,Packet Type=1XML格式,定義如下ST=0,Packet Type=2XML格式,定義如下NT=0,Packet Type=3二進(jìn)制的原始視頻頭部數(shù)據(jù)T=1,Packet Type=1二進(jìn)制的原始視頻數(shù)據(jù)T=1,Packet Type=2二進(jìn)制的原始音頻數(shù)據(jù)T=1,Packet Type=3二進(jìn)制的原始視頻數(shù)據(jù)注:Naming是攝像頭的全局唯一標(biāo)識(shí)符,用

8、與平臺(tái)與聯(lián),目前的視頻服務(wù)器協(xié)議可以忽略這個(gè)屬性。三、交互流程在全球眼系統(tǒng)中,對(duì)于實(shí)時(shí)視頻傳輸控制協(xié)議扮演服務(wù)器角色的是前端視頻服務(wù)器,扮 演客戶端角色的有企業(yè)客戶端、流分發(fā)服務(wù)器、顯示服務(wù)器、WEB客戶端。下面以前端視 頻服務(wù)器與流分發(fā)服務(wù)器為例說明實(shí)時(shí)視頻傳輸控制協(xié)議的交互流程。1、拉模式第一步:流分發(fā)服務(wù)器(客戶端角色)發(fā)起到前端視頻服務(wù)器(服務(wù)器角色)的TCP連接 請(qǐng)求,前端視頻服務(wù)器接受這個(gè)連接。完成TCP連接的建立。第二步:流分發(fā)服務(wù)器發(fā)送連接請(qǐng)求數(shù)據(jù)報(bào)到前端視頻服務(wù)器。(擴(kuò)展頭部T字段為0,PacketType 為 1)第三步:前端視頻服務(wù)器驗(yàn)證請(qǐng)求,如果請(qǐng)求有效,則回應(yīng)給流分發(fā)

9、服務(wù)器連請(qǐng)求應(yīng)答(擴(kuò) 展頭部T字段為0,Packet Type為2)數(shù)據(jù)報(bào);如果請(qǐng)求無效,則回應(yīng)給流分發(fā)服務(wù)器一個(gè) 請(qǐng)求有錯(cuò)的連接請(qǐng)求應(yīng)答(擴(kuò)展頭部T字段為0,Packet Type為2)數(shù)據(jù)報(bào),并關(guān)閉TCP 連接,前端視頻服務(wù)器(服務(wù)器角色)算法結(jié)束。第四步:流分發(fā)服務(wù)器如果接收到一個(gè)正確的連接請(qǐng)求應(yīng)答,則進(jìn)入第五步;否則如果接收 到錯(cuò)誤的連接請(qǐng)求應(yīng)答(或者說沒有接收到連接請(qǐng)求應(yīng)答)則關(guān)閉TCP連接,流分發(fā)服務(wù) 器(客戶端角色)算法結(jié)束(第五步:前端視頻服務(wù)器向流分發(fā)服務(wù)器發(fā)送視頻頭部(擴(kuò)展頭部T字段為0,Packet Type 為3)數(shù)據(jù)報(bào)。第六步:前端視頻服務(wù)器根據(jù)編碼器產(chǎn)生的實(shí)時(shí)音視頻

10、數(shù)據(jù)向流分發(fā)服務(wù)器發(fā)送視頻數(shù)據(jù)報(bào)(擴(kuò)展頭部T字段為1,Packet Type為1,2,3)(第七步:前端視頻服務(wù)器重復(fù)第六步,直到TCP連接斷開,前端視頻服務(wù)器算法結(jié)束。 第八步:流分發(fā)服務(wù)器持續(xù)接收前端視頻服務(wù)器在第六步、第七步發(fā)送的視頻數(shù)據(jù)報(bào)。第九步:流分發(fā)服務(wù)器不再需要視頻流數(shù)據(jù)時(shí)(停止觀看),流分發(fā)服務(wù)器關(guān)閉TCP連接, 流分發(fā)服務(wù)器(客戶端角色)算法結(jié)束(2、推模式算法與拉模式相似,只在第一步、第二步、第三步算法中把服務(wù)器角色和客戶端角色對(duì)換。算法描述如下:第一步:前端視頻服務(wù)器(服務(wù)器角色)發(fā)起到流分發(fā)服務(wù)器(客戶端角色)的TCP連接 請(qǐng)求,流分發(fā)服務(wù)器接受這個(gè)連接。完成TCP連接

11、的建立。第二步:流分發(fā)服務(wù)器發(fā)送連接請(qǐng)求數(shù)據(jù)報(bào)到流分發(fā)服務(wù)器。(擴(kuò)展頭部T字段為0,PacketType 為 1)第三步:流分發(fā)服務(wù)器驗(yàn)證請(qǐng)求,如果請(qǐng)求有效,則回應(yīng)給前端視頻服務(wù)器連請(qǐng)求應(yīng)答(擴(kuò) 展頭部T字段為0,Packet Type為2)數(shù)據(jù)報(bào);如果請(qǐng)求無效,則回應(yīng)給前端視頻服務(wù)器一 個(gè)請(qǐng)求有錯(cuò)的連接請(qǐng)求應(yīng)答(擴(kuò)展頭部T字段為0,Packet Type為2)數(shù)據(jù)報(bào),并關(guān)閉TCP 連接,流分發(fā)服務(wù)器(客戶端角色)算法結(jié)束。第四步:前端視頻服務(wù)器如果接收到一個(gè)正確的連接請(qǐng)求應(yīng)答,則進(jìn)入第五步;否則如果接 收到錯(cuò)誤的連接請(qǐng)求應(yīng)答(或者說沒有接收到連接請(qǐng)求應(yīng)答)則關(guān)閉TCP連接,前端視頻 服務(wù)器(服務(wù)器角色)算法結(jié)束。第五步:前端視頻服務(wù)器向流分發(fā)服務(wù)器發(fā)送視頻頭部(擴(kuò)展頭部T字段為0,Packet Type 為3)數(shù)據(jù)報(bào)。第六步:前端視頻服務(wù)器根據(jù)編碼器產(chǎn)生的實(shí)時(shí)音視頻數(shù)據(jù)向流分發(fā)服務(wù)器發(fā)送視頻數(shù)據(jù)報(bào) (擴(kuò)展頭部T字段為1,Packet Type為1,2,3)。第七步:前端視頻服務(wù)器重復(fù)第六步,直到TCP連接斷開,前端視頻服務(wù)器算法結(jié)束。 第八步:流分發(fā)服務(wù)器持續(xù)接收前端視頻服務(wù)器在第六步、第七步發(fā)送的視頻數(shù)據(jù)報(bào)。第九步:流分發(fā)服務(wù)器不再需要視頻流數(shù)據(jù)時(shí)(停止觀看),流分發(fā)服務(wù)器關(guān)閉TCP連接, 流分發(fā)服務(wù)器(客戶端角色)算法結(jié)束。四、兼容性視頻服務(wù)器作為服務(wù)端角

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論