基于udp和tcp的音視頻媒體數(shù)據(jù)傳輸方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于媒體數(shù)據(jù)網(wǎng)絡(luò)傳輸技術(shù)領(lǐng)域,具體涉及一種基于UDP和TCP的RTP包傳輸及丟包重傳的方法。
【背景技術(shù)】
[0002]RTP (實(shí)時傳輸協(xié)議)是Real-time Transport Protocol是的縮寫,通常用于音視頻媒體數(shù)據(jù)的實(shí)時傳輸,在VOIP和音視頻會議業(yè)務(wù)中得到廣泛的應(yīng)用。RTP實(shí)行有序傳送,但并不保證傳送或防止無序傳送,也不確定底層網(wǎng)絡(luò)的可靠性,容易出現(xiàn)丟包等問題。
[0003]因此接收端發(fā)現(xiàn)有丟包時,需要請求丟包重傳,由于NACK通常使用RTCP/UDP進(jìn)行傳輸,發(fā)送端并不知道接收端已經(jīng)接收到NACK,很容易出現(xiàn)需要多次NACK重復(fù)請求的情況,發(fā)送端也隨之會重復(fù)的重傳丟包,帶來不必要的網(wǎng)絡(luò)帶寬消耗,本發(fā)明因此而來。
【發(fā)明內(nèi)容】
[0004]針對上述技術(shù)問題,本發(fā)明目的是:提供一種基于UDP和TCP的音視頻媒體數(shù)據(jù)傳輸方法,簡化RTP包丟包重傳的處理過程,降低了網(wǎng)絡(luò)帶寬消耗。
[0005]本發(fā)明的技術(shù)方案是:
一種基于UDP和TCP的音視頻媒體數(shù)據(jù)傳輸方法,應(yīng)用于V0IP、音視頻會議業(yè)務(wù),其特征在于,所述方法包括以下步驟:
(1)在終端或服務(wù)器發(fā)送RTP包之前,創(chuàng)建RTP/UDP通道,另外建立一個TCP連接;
(2)在正常傳輸時,使用RTP/UDP通道發(fā)送和接收RTP包;
(3)接收端發(fā)現(xiàn)有丟包時,生成NACK請求,通過TCP連接發(fā)送給發(fā)送端,請求丟包重傳;
(4)發(fā)送端收到NACK請求后,解析NACK請求,將需要重傳的RTP包,通過TCP連接,發(fā)送給接收端。
[0006]優(yōu)選的,所述RTP包包括包序號。
[0007]優(yōu)選的,所述NACK請求中包括丟包的包序號。
[0008]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)是:
本發(fā)明綜合利用了 RTP快速傳輸和TCP可靠傳輸?shù)奶攸c(diǎn),提高了丟包重傳的效率。有如下優(yōu)點(diǎn):1、不會出現(xiàn)重復(fù)的NACK請求;2、不會出現(xiàn)重復(fù)的丟包重傳,降低系統(tǒng)開銷和網(wǎng)絡(luò)帶寬消耗。
【附圖說明】
[0009]下面結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步描述:
圖1為本發(fā)明基于UDP和TCP的音視頻媒體數(shù)據(jù)傳輸方法的流程圖。
【具體實(shí)施方式】
[0010]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合【具體實(shí)施方式】并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0011]實(shí)施例:
本發(fā)明采取如下的步驟進(jìn)行音視頻媒體數(shù)據(jù)傳輸:
A、發(fā)送端與接收端之間,建立一個RTP/UDP通道和一個TCP連接;
B、在網(wǎng)絡(luò)條件較好時,通過RTP/UDP傳輸RTP包;
C、當(dāng)接收端發(fā)現(xiàn)有丟包時,生成NACK(RTCP包),通過TCP連接發(fā)送給發(fā)送端;
D、接收端解析NACK請求,通過TCP連接進(jìn)行丟包重傳。
[0012]本發(fā)明舉一個實(shí)例進(jìn)行說明:
Cl)發(fā)送端與接收端建立RTP/UDP通道和TCP連接;
(2)發(fā)送端給接收端發(fā)送RTP包,包序號范圍為21521~21535;
(3)假定接收端從網(wǎng)絡(luò)上已經(jīng)接收到RTP包,發(fā)現(xiàn)有兩個丟包,序號為21526和21528;
(4)接收端生成NACK請求,攜帶序號21526和21528,通過TCP連接發(fā)出;
(5)發(fā)送端收到NACK后,解析其中攜帶的序號,將序號為21526和21528的RTP包通過TCP連接重傳給接收端。
[0013]該方法簡化RTP包丟包重傳的處理過程,降低了網(wǎng)絡(luò)帶寬消耗。
[0014]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實(shí)施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【主權(quán)項(xiàng)】
1.一種基于UDP和TCP的音視頻媒體數(shù)據(jù)傳輸方法,應(yīng)用于VOIP、音視頻會議業(yè)務(wù),其特征在于,所述方法包括以下步驟: (1)在終端或服務(wù)器發(fā)送RTP包之前,創(chuàng)建RTP/UDP通道,另外建立一個TCP連接; (2)在正常傳輸時,使用RTP/UDP通道發(fā)送和接收RTP包; (3)接收端發(fā)現(xiàn)有丟包時,生成NACK請求,通過TCP連接發(fā)送給發(fā)送端,請求丟包重傳; (4)發(fā)送端收到NACK請求后,解析NACK請求,將需要重傳的RTP包,通過TCP連接,發(fā)送給接收端。2.根據(jù)權(quán)利要求1所述的基于UDP和TCP的音視頻媒體數(shù)據(jù)傳輸方法,所述RTP包包括包序號。3.根據(jù)權(quán)利要求1所述的基于UDP和TCP的音視頻媒體數(shù)據(jù)傳輸方法,所述NACK請求中包括丟包的包序號。
【專利摘要】<b>本發(fā)明公開了一種基于</b><b>UDP</b><b>和</b><b>TCP</b><b>的音視頻媒體數(shù)據(jù)傳輸方法,</b><b>應(yīng)用于</b><b>VOIP</b><b>、音視頻會議業(yè)務(wù)</b><b>,所述</b><b>方法</b><b>包括以下步驟</b><b>:在終端或服務(wù)器發(fā)送</b><b>RTP</b><b>包之前,創(chuàng)建</b><b>RTP/UDP</b><b>通道,另外建立一個</b><b>TCP</b><b>連接</b><b>;</b><b>在正常傳輸時,使用</b><b>RTP/UDP</b><b>通道發(fā)送和接收</b><b>RTP</b><b>包</b><b>;接收端發(fā)現(xiàn)有丟包時,生成</b><b>NACK</b><b>請求,通過</b><b>TCP</b><b>連接發(fā)送給發(fā)送端,請求丟包重傳</b><b>;</b><b>發(fā)送端收到</b><b>NACK</b><b>請求后,</b><b>解析</b><b>NACK</b><b>請求,</b><b>將需要重傳的</b><b>RTP</b><b>包,通過</b><b>TCP</b><b>連接,發(fā)送給接收端</b><b>。</b><b>利用</b><b>RTP</b><b>實(shí)時性較好和</b><b>TCP</b><b>可靠傳輸?shù)奶攸c(diǎn),能保證音視頻數(shù)據(jù)快速傳輸?shù)那疤嵯拢帜軠p少重復(fù)的</b><b>NACK</b><b>和丟包重傳,提高了網(wǎng)絡(luò)帶寬的使用效率。</b>
【IPC分類】H04N7/15, H04N21/6437, H04N21/647
【公開號】CN105430320
【申請?zhí)枴緾N201510813638
【發(fā)明人】蘭玉杰
【申請人】蘭玉杰
【公開日】2016年3月23日
【申請日】2015年11月23日