亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于udp的流媒體穿越nat設(shè)備的方法

文檔序號(hào):7953606閱讀:252來(lái)源:國(guó)知局
專利名稱:基于udp的流媒體穿越nat設(shè)備的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種IP通信方法,具體涉及一種在NAT/Firewall環(huán)境中的流媒體播放系統(tǒng)中流媒體穿越NAT設(shè)備的方法。
背景技術(shù)
流媒體技術(shù)是指從服務(wù)器通過(guò)網(wǎng)絡(luò)向終端發(fā)送多媒體數(shù)據(jù),終端邊接收邊播放的技術(shù)。流媒體技術(shù)一般要求視頻和音頻數(shù)據(jù)達(dá)到音視頻連續(xù)、音視頻同步、音視頻清晰、音視頻實(shí)時(shí)的效果。
實(shí)際應(yīng)用中,要達(dá)到上述效果,允許有少量時(shí)延(幾百毫秒),允許有一定百分比的數(shù)據(jù)丟包,但要求帶寬有保障,盡可能保障較高的傳輸率。
流媒體技術(shù)中有3項(xiàng)關(guān)鍵技術(shù)(1)終端側(cè)的音視頻緩沖技術(shù);(2)終端側(cè)的音視頻同步技術(shù);(3)服務(wù)器側(cè)的音視頻媒體流控技術(shù)。
在流媒體穿越防火墻上,現(xiàn)有技術(shù)主要是采用TCP(傳輸控制協(xié)議)承載媒體流來(lái)實(shí)現(xiàn)。TCP有良好的確認(rèn)機(jī)制和重傳機(jī)制,并采用了擁塞控制與流控策略,從而成功解決網(wǎng)絡(luò)擁塞和媒體發(fā)送與接收的速率匹配,有效避免數(shù)據(jù)丟包。但同時(shí)也犧牲了傳輸速率,使得傳輸數(shù)據(jù)量較大的流媒體應(yīng)用(例如,點(diǎn)播高碼率的片源)時(shí),實(shí)時(shí)性大打折扣。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種容易實(shí)現(xiàn)的,且傳輸輸率較高的流媒體穿越NAT設(shè)備的方法。
本發(fā)明為解決上述技術(shù)問(wèn)題采用的技術(shù)方案是,基于UDP的流媒體穿越NAT設(shè)備的方法,包括以下步驟a終端擴(kuò)展RTSP請(qǐng)求消息,在所述RTSP請(qǐng)求消息中添加終端端口信息;并將擴(kuò)展后RTSP請(qǐng)求消息發(fā)送到流媒體服務(wù)器;b流媒體服務(wù)器接收到RTSP請(qǐng)求消息,獲取終端端口信息,向終端發(fā)出RTSP響應(yīng)消息;所述RTSP響應(yīng)消息包括有服務(wù)器IP地址與服務(wù)器端口信息;c終端收到RTSP響應(yīng)消息,獲取服務(wù)器端口信息,向服務(wù)器端口發(fā)送初始化MI消息;并啟動(dòng)定時(shí)器;d流媒體服務(wù)器分析接收到的初始化MI消息,獲取終端的NAT設(shè)備上的公網(wǎng)出口IP地址與NAT設(shè)備端口信息,以及終端的私網(wǎng)IP地址與終端端口,生成映射表;e流媒體服務(wù)器根據(jù)映射表,向終端的NAT設(shè)備端口發(fā)送媒體流數(shù)據(jù)或交互RTCP數(shù)據(jù);f終端向流媒體服務(wù)器發(fā)送維持MI消息,保持連接持續(xù)存活。
進(jìn)一步的,步驟a中在RTSP請(qǐng)求消息的描述命令中的用戶代理字段中進(jìn)行擴(kuò)展,在所述用戶代理字段中填入終端與流媒體服務(wù)器的交互內(nèi)容。
終端與流媒體服務(wù)器的交互內(nèi)容包括承載媒體流的類型;終端所處網(wǎng)絡(luò)類型、終端端口信息。
終端端口包括用于接收視頻媒體流數(shù)據(jù)的端口、用于交互視頻RTCP數(shù)據(jù)的端口、用于接收音頻媒體流數(shù)據(jù)的端口、用于交互音頻RTCP數(shù)據(jù)的端口。
服務(wù)器端口包括用于下發(fā)音視頻媒體流數(shù)據(jù)的端口、用于交互音視頻媒體流數(shù)據(jù)的端口。
本發(fā)明的有益效果是,本發(fā)明所述流媒體穿越NAT設(shè)備的方法,僅在終端與流媒體服務(wù)器端作少量改造,就能實(shí)現(xiàn)UDP承載媒體流穿越防火墻,又能保障傳輸速率,從而保障實(shí)時(shí)性。
以下結(jié)合附圖與實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。


圖1為私網(wǎng)終端向公網(wǎng)服務(wù)器進(jìn)行的點(diǎn)播流程;圖2為MI消息結(jié)構(gòu)。
具體實(shí)施例方式
如圖1所示,終端向公網(wǎng)服務(wù)器進(jìn)行的點(diǎn)播流程,采用UDP承載媒體流數(shù)據(jù)(1)終端在私網(wǎng)發(fā)起RTSP描述請(qǐng)求(Describe),該請(qǐng)求消息的用戶代理(User-Agent)字段內(nèi)容沒(méi)有硬性要求,可以隨便填。本發(fā)明在該字段中填入終端與服務(wù)器端交互的內(nèi)容終端要求用來(lái)承載媒體流的類型本實(shí)施例默認(rèn)為UDP,同時(shí)允許取值為TCP,以便通過(guò)TCP來(lái)承載媒體流,從而向下兼容。
終端所處的網(wǎng)絡(luò)類型in表示私網(wǎng),out表示公網(wǎng),本發(fā)明針對(duì)終端處于私網(wǎng)的情況。
終端視頻端口(video_port)端口號(hào)為5000、5001,終端準(zhǔn)備用于接收視頻媒體流的端口號(hào)為5000;終端準(zhǔn)備用于交互視頻通道RTCP消息的端口號(hào)為5001。本實(shí)施例中將終端視頻端口取為5000、5001,實(shí)際也可以取為其它值,或動(dòng)態(tài)選取。
終端音頻端口(audio_port)端口號(hào)為5002、5003,終端準(zhǔn)備用于接收音頻媒體流的端口號(hào)為5002;終端準(zhǔn)備用于交互音頻通道RTCP消息的端口號(hào)為5003。一般audio_port的兩個(gè)端口值與video_port的兩個(gè)端口值是連續(xù)的4個(gè)端口值。
媒體流數(shù)據(jù)可采用兩種形式傳輸RTP數(shù)據(jù)或TS數(shù)據(jù)。終端均采用RTP端口接收媒體流,采用RTCP端口交互RTCP數(shù)據(jù)。
通過(guò)describe進(jìn)行擴(kuò)展,是為了告訴流媒體服務(wù)器,本終端目前處于私網(wǎng)中,需要進(jìn)行防火墻穿越過(guò)程,在以后流程中通過(guò)MI消息過(guò)程獲取端口信息。
采用該消息擴(kuò)展,主要是與終端處于公網(wǎng)的情形進(jìn)行區(qū)別,因?yàn)榻K端處于公網(wǎng)時(shí),無(wú)需穿越過(guò)程;describe消息是一種RTSP方法,它通過(guò)TCP傳輸,可以確保服務(wù)器很快收到,而以后的MI消息通過(guò)UDP承載,容易丟包重發(fā)造成時(shí)延。
(2)流媒體服務(wù)器收到終端發(fā)出的RTSP描述請(qǐng)求后,獲取處于私網(wǎng)的4個(gè)終端端口后,向終端發(fā)出RTSP的響應(yīng)(Reply ok)消息。
(3)終端收到RTSP的Reply ok消息后,向流媒體服務(wù)器發(fā)送RTSP建立連接請(qǐng)求消息。
(4)流媒體服務(wù)器收到RTSP建立連接請(qǐng)求(setup)消息,從setup消息的網(wǎng)絡(luò)層頭部獲得終端的NAT設(shè)備的公網(wǎng)出口IP地址,從setup消息的傳輸層獲得NAT設(shè)備端口信息;流媒體服務(wù)器向終端發(fā)出RTSP的Reply ok消息;在Reply ok消息中,會(huì)攜帶流媒體服務(wù)器用于下發(fā)媒體流的服務(wù)器RTP端口與交互RTCP消息的服務(wù)器端口。一般流媒體服務(wù)器采用同一個(gè)RTP端口端口來(lái)下發(fā)視頻媒體流與音頻媒體流,同時(shí)采用相鄰的另一端口來(lái)交互音頻通道與視頻通道的RTCP消息;因此,第(4)步與第(6)步中得到的端口值一般相同。本實(shí)施例的服務(wù)器端口取為7000、7001,實(shí)際中也可取為其它固定值。
(5)同上述(3),(6)同上述(4),因?yàn)榻K端的音頻、視頻連接是分別建立的。
(7)終端向流媒體服務(wù)器發(fā)出RTSP播放請(qǐng)求(play)消息。
(8)流媒體服務(wù)器收到終端發(fā)出的play消息后,向終端發(fā)出RTSP的響應(yīng)(Reply ok)消息。
上述(1)-(8)步是普通的RTSP點(diǎn)播流程。
因?yàn)镹AT設(shè)備一方面對(duì)從其私網(wǎng)向公網(wǎng)主動(dòng)發(fā)起的連接通過(guò)并發(fā)連接表進(jìn)行維系,另一方面也設(shè)置了連接維持時(shí)間;倘若在其連接維持時(shí)間內(nèi),其私網(wǎng)終端沒(méi)有向公網(wǎng)發(fā)出消息,NAT設(shè)備就會(huì)主動(dòng)關(guān)閉該連接,從而使得私網(wǎng)終端無(wú)法在原連接上接收來(lái)自公網(wǎng)的數(shù)據(jù)。TCP由于采用握手機(jī)制,不會(huì)受其影響;但本發(fā)明采用UDP承載,因此需要引入定時(shí)發(fā)送MI(MediaIndication,媒體指示)消息的辦法保持UDP連接的持續(xù)存活。
如圖2所示,描述的是MI消息結(jié)構(gòu)。
MI消息用于向公網(wǎng)服務(wù)器傳遞私網(wǎng)側(cè)的4個(gè)連續(xù)端口在其出口NAT設(shè)備上的公網(wǎng)IP地址與4個(gè)映射端口。
在MI消息結(jié)構(gòu)中,各字段說(shuō)明如下標(biāo)識(shí)固定填0xfdfefdfe;長(zhǎng)度消息數(shù)據(jù)字節(jié)數(shù),不包括標(biāo)識(shí)字段和長(zhǎng)度字段;類型1-初始化;2-維持;私網(wǎng)IP地址私網(wǎng)終端的私網(wǎng)IP地址;私網(wǎng)端口私網(wǎng)終端用于接收RTP媒體數(shù)據(jù)與交互RTCP消息的端口;媒體類型RTP視頻 0x01;RTCP視頻 0x02;RTP音頻 0x03;RTCP音頻 0x04;方向0-接收方向;1-發(fā)送方向;保留2字節(jié)保留字段,固定填0xfbfc。
(9)至(12)為四個(gè)終端端口向?qū)?yīng)的服務(wù)器端口發(fā)送的初始化MI消息。
私網(wǎng)終端首先采用MI消息結(jié)構(gòu),構(gòu)造基于UDP傳送的MI消息,將其消息類型字段設(shè)置為初始化,將其方向設(shè)置為發(fā)送方向,同時(shí)在私網(wǎng)端口處設(shè)置私網(wǎng)終端用于發(fā)送MI消息的源端口,同時(shí)也是私網(wǎng)終端用于接收媒體或交互RTCP消息的端口,這4步中的端口值是連續(xù)的4個(gè)端口值,與第1步中的video_port和audio_port端口值是一致的。發(fā)送MI消息的同時(shí),由于UDP無(wú)連接,為了確保有效工作,設(shè)置超時(shí)時(shí)間為5s,倘若超時(shí)時(shí)間到卻還沒(méi)有收到媒體流,就重發(fā)MI消息,直到收到媒體流。另外,啟動(dòng)MI消息發(fā)送的定時(shí)器,本實(shí)施例取為30s。
本實(shí)施例中,端口號(hào)為7000的服務(wù)器端口接收端口號(hào)為5000、5002的終端端口發(fā)出的初始化MI消息;端口號(hào)為7001的服務(wù)器端口接收端口號(hào)為5001、5003的終端端口發(fā)出的初始化MI消息。
在公網(wǎng)上的流媒體服務(wù)器在收到這些MI消息后,將其按MI消息結(jié)構(gòu)進(jìn)行解析,從UDP數(shù)據(jù)中得知私網(wǎng)終端用于接收媒體或交互RTCP消息的端口,從UDP報(bào)文頭得知私網(wǎng)終端的私網(wǎng)IP地址與終端端口在其NAT設(shè)備出口處映射的公網(wǎng)出口IP地址與NAT設(shè)備的端口,組成1組映射表。根據(jù)私網(wǎng)端口的唯一性得到共4組映射表,該過(guò)程中會(huì)與第1步中收到的Describe消息里的video_port和audio_port端口值進(jìn)行校驗(yàn),二者一致才有效。
(13)至(16)步中,流媒體服務(wù)器分別向4組映射表的公網(wǎng)出口IP地址與NAT設(shè)備端口發(fā)送媒體流或交互RTCP消息。端口號(hào)為7000的服務(wù)器端口分別向端口號(hào)為5000的終端端口下發(fā)UDP視頻媒體流;向端口號(hào)為5002的終端端口下發(fā)UDP音頻媒體流;端口號(hào)為7000的服務(wù)器端口分別與端口號(hào)為5001、5003的終端端口交互視、音頻通道的RTCP消息。
這里利用了NAT設(shè)備的工作原理,NAT設(shè)備會(huì)自動(dòng)將收到的媒體流或RTCP消息轉(zhuǎn)發(fā)到相應(yīng)的私網(wǎng)終端的IP地址與終端端口。
(17)至(20)步中,與(9)至(12)相同,私網(wǎng)終端在其用于接收媒體或交互RTCP消息的端口處,定時(shí)向公網(wǎng)服務(wù)器發(fā)送MI消息。不同之處在于終端是發(fā)送的維持MI消息,即MI消息類型為維持,方向?yàn)榻邮辗较?。服?wù)器在收到該MI消息后,得知消息類型為維持后,不作其它處理。本實(shí)施例中MI消息的定時(shí)時(shí)間間隔取為30s,實(shí)際應(yīng)用中也可取為60s或120s,該值只要小于NAT設(shè)備的連接維持時(shí)間即可,一般NAT設(shè)備的連接維持時(shí)間會(huì)配置在5分鐘到30分鐘不等。
權(quán)利要求
1.基于UDP的流媒體穿越NAT設(shè)備的方法,其特征在于,包括以下步驟a終端擴(kuò)展RTSP請(qǐng)求消息,在所述RTSP請(qǐng)求消息中添加終端端口信息;并將擴(kuò)展后RTSP請(qǐng)求消息發(fā)送到流媒體服務(wù)器;b流媒體服務(wù)器接收到RTSP請(qǐng)求消息,獲取終端端口信息,向終端發(fā)出RTSP響應(yīng)消息;所述RTSP響應(yīng)消息包括有服務(wù)器IP地址與服務(wù)器端口信息;c終端收到RTSP響應(yīng)消息,獲取服務(wù)器端口信息,向服務(wù)器端口發(fā)送初始化MI消息;并啟動(dòng)定時(shí)器;d流媒體服務(wù)器分析接收到的初始化MI消息,獲取終端的NAT設(shè)備上的公網(wǎng)出口IP地址與NAT設(shè)備端口信息,以及終端的私網(wǎng)IP地址與終端端口,生成映射表;e流媒體服務(wù)器根據(jù)映射表,向終端的NAT設(shè)備端口發(fā)送媒體流數(shù)據(jù)或交互RTCP數(shù)據(jù);f終端向流媒體服務(wù)器發(fā)送維持MI消息,保持連接持續(xù)存活。
2.如權(quán)利要求1所述基于UDP的流媒體穿越NAT設(shè)備的方法,其特征在于,步驟a中在RTSP請(qǐng)求消息的描述命令中的用戶代理字段中進(jìn)行擴(kuò)展,在所述用戶代理字段中填入終端與流媒體服務(wù)器的交互內(nèi)容。
3.如權(quán)利要求2所述基于UDP的流媒體穿越NAT設(shè)備的方法,其特征在于,所述終端與流媒體服務(wù)器的交互內(nèi)容包括承載媒體流的類型、終端所處網(wǎng)絡(luò)類型、終端端口信息。
4.如權(quán)利要求1、2或3所述基于UDP的流媒體穿越NAT設(shè)備的方法,其特征在于,所述承載媒體流的類型為UDP;所述終端所處網(wǎng)絡(luò)類型為內(nèi)網(wǎng);所述終端端口包括用于接收視頻媒體流數(shù)據(jù)的端口、用于交互視頻RTCP數(shù)據(jù)的端口、用于接收音頻媒體流數(shù)據(jù)的端口、用于交互音頻RTCP數(shù)據(jù)的端口。
5.如權(quán)利要求1所述基于UDP的流媒體穿越NAT設(shè)備的方法,其特征在于,所述服務(wù)器端口包括用于下發(fā)音視頻媒體流數(shù)據(jù)的端口、用于交互音視頻媒體流數(shù)據(jù)的端口。
6.如權(quán)利要求1所述基于UDP的流媒體穿越NAT設(shè)備的方法,其特征在于,步驟c中所述定時(shí)器設(shè)置的定時(shí)時(shí)間小于NAT設(shè)備的連接維持時(shí)間。
7.如權(quán)利要求1所述基于UDP的流媒體穿越NAT設(shè)備的方法,其特征在于,步驟d中流媒體服務(wù)器分析接收到的初始化MI消息,獲取終端端口信息后,與步驟b中流媒體服務(wù)器從接收到RTSP請(qǐng)求消息中獲取的終端端口信息相比較,如一致,生成映射表。
8.如權(quán)利要求1所述基于UDP的流媒體穿越NAT設(shè)備的方法,其特征在于,所述媒體流數(shù)據(jù)為RTP數(shù)據(jù)或TS數(shù)據(jù)。
全文摘要
本發(fā)明涉及一種IP通信方法。本發(fā)明提供了一種基于UDP的流媒體穿越NAT設(shè)備的方法,包括以下步驟a終端擴(kuò)展并向流媒體服務(wù)器發(fā)送RTSP請(qǐng)求消息,在RTSP請(qǐng)求消息中添加終端端口信息;b流媒體服務(wù)器獲取終端端口信息,發(fā)出RTSP響應(yīng)消息;c終端向服務(wù)器端口發(fā)送初始化MI消息;并啟動(dòng)定時(shí)器;d流媒體服務(wù)器分析接收到的初始化MI消息,獲取終端的NAT設(shè)備上的公網(wǎng)出口IP地址與NAT設(shè)備端口信息,以及終端的私網(wǎng)IP地址與終端端口,生成映射表;e流媒體服務(wù)器根據(jù)映射表,向終端發(fā)送媒體流數(shù)據(jù)或交互RTCP數(shù)據(jù)。f終端向流媒體服務(wù)器發(fā)送維持MI消息,保持連接持續(xù)存活。本發(fā)明的有益效果是,在終端與流媒體服務(wù)器端作少量改造,就能實(shí)現(xiàn)UDP承載媒體流穿越防火墻。
文檔編號(hào)H04L12/56GK1929481SQ200610021989
公開日2007年3月14日 申請(qǐng)日期2006年9月30日 優(yōu)先權(quán)日2006年9月30日
發(fā)明者劉杰, 黃葛玲, 張恩陽(yáng) 申請(qǐng)人:四川長(zhǎng)虹電器股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1