[發(fā)明專利]RTP數(shù)據(jù)包亂序處理及重組幀方法和系統(tǒng)有效
| 申請?zhí)枺?/td> | 202110240553.4 | 申請日: | 2021-03-04 |
| 公開(公告)號: | CN113014586B | 公開(公告)日: | 2022-09-13 |
| 發(fā)明(設(shè)計)人: | 黃玉闊;徐松松;高志亮;張誠;周賓 | 申請(專利權(quán))人: | 即時匹配(上海)網(wǎng)絡(luò)科技有限公司 |
| 主分類號: | H04L65/60 | 分類號: | H04L65/60;H04L65/65;H04L65/80;H04L69/164;H04L51/04 |
| 代理公司: | 上海九澤律師事務(wù)所 31337 | 代理人: | 周云 |
| 地址: | 200040 上海市靜安*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | rtp 數(shù)據(jù)包 處理 重組 方法 系統(tǒng) | ||
RTP數(shù)據(jù)包亂序處理及重組幀方法和系統(tǒng),包括:接收RTP數(shù)據(jù)包;根據(jù)該RTP數(shù)據(jù)包的序列號將其插入RTP數(shù)據(jù)包雙向鏈表隊列中的合適節(jié)點上,使RTP數(shù)據(jù)包在RTP數(shù)據(jù)包雙向鏈表隊列中從隊首到隊尾按序列號升序的順序排列;每間隔防網(wǎng)絡(luò)抖動閾值時間,循環(huán)一次重新組幀操作:將RTP數(shù)據(jù)包雙向鏈表隊列中已接收時間>認(rèn)定丟失閾值的RTP數(shù)據(jù)包從隊首開始一一取出并放入RTP幀鏈表隊列中、重新組成一個完整的視頻幀后將該幀放入解碼緩沖區(qū)中,或者處理掉無法組成完整一幀的RTP數(shù)據(jù)包。本方法及系統(tǒng)解決了UDP/RTP數(shù)據(jù)包的亂序及重新組幀的問題,避免播放時的斷斷續(xù)續(xù)以及卡頓,減少了錯誤丟棄UDP/RTP數(shù)據(jù)包的概率。
技術(shù)領(lǐng)域
本發(fā)明涉及即時通訊領(lǐng)域,尤其涉及一種即時通訊客戶端流媒體接收方的RTP數(shù)據(jù)包亂序處理及重組幀方法和系統(tǒng)。
背景技術(shù)
即時通信(IM)是指能夠即時發(fā)送和接收互聯(lián)網(wǎng)消息等的業(yè)務(wù)。用戶注冊后,通過注冊時的登錄信息即可登錄到用戶端上的即時通訊軟件中,用戶端之間通過即時通訊系統(tǒng)可以進(jìn)行即時通訊和信息交互。
目前市場上的即時通訊工具中,涉及到實時流媒體功能的通常有兩種流媒體傳送方法,一種是使用第三方實時流媒體服務(wù)商提供的實時流媒體服務(wù),但存在一定的安全和隱私隱患,另一種是使用即時通訊系統(tǒng)自設(shè)的中轉(zhuǎn)服務(wù)器中轉(zhuǎn),但在大用戶量的情況下非常占用服務(wù)器的資源和服務(wù)器的帶寬,此外,因為有了流媒體服務(wù)器的中轉(zhuǎn),會產(chǎn)生實時流媒體數(shù)據(jù)的延時,導(dǎo)致用戶在實時音視頻通信時會有一定時間的延時,影響即時通訊的質(zhì)量。
因此,發(fā)明人提出一種基于JINGLE協(xié)議來實現(xiàn)P2P端到端的實時流媒體傳輸?shù)南到y(tǒng)架構(gòu),即時通訊服務(wù)器群組提供XMPP/JINGLE服務(wù)和STUN服務(wù),即時通訊服務(wù)器群組之間使用TCP鏈接、并使用回調(diào)認(rèn)證機(jī)制進(jìn)行驗證,然后協(xié)助兩個即時通訊客戶端建立直接端對端連接,使用UDP-RTP和UDP-RTCP進(jìn)行實時流媒體的數(shù)據(jù)通信和流量控制,可以較好的解決的上述兩種流媒體傳送方法存在的問題。
UDP-RTCP協(xié)議和UDP-RTP協(xié)議的數(shù)據(jù)包傳輸過程中,即時通訊用戶端發(fā)送方發(fā)送RTP數(shù)包時是線性勻速發(fā)出的,但由于IP網(wǎng)絡(luò)中的路由選擇路徑不同,加上網(wǎng)絡(luò)帶寬的實時變化等網(wǎng)絡(luò)因素造成了數(shù)據(jù)包在傳輸過程中的抖動現(xiàn)象,RTP數(shù)據(jù)包很可能是以曲線的形式到達(dá)即時通訊用戶端接收方,因此,采用該系統(tǒng)架構(gòu)進(jìn)行即時通訊用戶端之間的端對端直接流媒體通訊,需要解決的是接收方客戶端接收的RTP數(shù)據(jù)包的亂序,以及RTP數(shù)據(jù)包重組幀兩個新難題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種即時通訊客戶端流媒體接收方的RTP數(shù)據(jù)包亂序處理及重組幀方法和系統(tǒng),將亂序處理和重組幀分解為兩個獨(dú)立的步驟,對到達(dá)的RTP數(shù)據(jù)包進(jìn)行正確排序后再以閾值時間為單位進(jìn)行重組幀操作,從而使視音頻數(shù)據(jù)能連續(xù)正確地播放,防止即時通訊客戶端流媒體接收方在播放流媒體數(shù)據(jù)時的抖動,即播放時的斷斷續(xù)續(xù)以及卡頓,以及減少錯誤丟棄RTP數(shù)據(jù)包的概率。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
RTP數(shù)據(jù)包亂序處理及重組幀方法,包括:
A:接收RTP數(shù)據(jù)包;
B:根據(jù)該RTP數(shù)據(jù)包的序列號將其插入RTP數(shù)據(jù)包雙向鏈表隊列中的合適節(jié)點上,使RTP數(shù)據(jù)包在RTP數(shù)據(jù)包雙向鏈表隊列中從隊首到隊尾按序列號升序的順序排列;
C:每間隔防網(wǎng)絡(luò)抖動閾值時間,循環(huán)一次重新組幀操作:將RTP數(shù)據(jù)包雙向鏈表隊列中已接收時間>認(rèn)定丟失閾值的RTP數(shù)據(jù)包從隊首開始一一取出并放入RTP幀鏈表隊列中、重新組成一個完整的視頻幀后將該幀放入解碼緩沖區(qū)中,或者處理掉無法組成完整一幀的RTP數(shù)據(jù)包,包括:
C1:取出RTP數(shù)據(jù)包雙向鏈表隊列的隊首RTP數(shù)據(jù)包,然后轉(zhuǎn)入C2;
C2:判斷該RTP數(shù)據(jù)包已接收時間是否>認(rèn)定丟失閾值:
如是,轉(zhuǎn)入C3;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于即時匹配(上海)網(wǎng)絡(luò)科技有限公司,未經(jīng)即時匹配(上海)網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110240553.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種提高數(shù)據(jù)傳輸質(zhì)量的方法及裝置
- 一種Linux網(wǎng)絡(luò)設(shè)備動態(tài)標(biāo)記RTP流量的方法
- 調(diào)節(jié)VoIP電話系統(tǒng)電話回聲的方法及裝置
- 基于內(nèi)核進(jìn)行RTP數(shù)據(jù)收發(fā)的網(wǎng)關(guān)設(shè)備及其實現(xiàn)方法
- 一種實時傳輸協(xié)議會話處理方法及設(shè)備
- 一種RTP數(shù)據(jù)的發(fā)送、接收方法及用戶設(shè)備
- 數(shù)據(jù)傳輸方法、裝置及系統(tǒng)
- 一種基于切片的RTP流媒體存儲、讀取方法及裝置
- RTP丟包檢測方法、裝置、設(shè)備及計算機(jī)可讀存儲介質(zhì)
- 一種RTP丟包檢測方法、裝置、電子設(shè)備及存儲介質(zhì)
- 通過冗余提高數(shù)據(jù)傳輸速度的方法
- 數(shù)據(jù)包調(diào)度方法和裝置
- 一種數(shù)據(jù)包的轉(zhuǎn)發(fā)方法和設(shè)備
- 網(wǎng)絡(luò)通信主體確認(rèn)方法及系統(tǒng)
- 一種轉(zhuǎn)發(fā)數(shù)據(jù)包的方法、裝置和路由設(shè)備
- 一種數(shù)據(jù)報文接收方法及裝置
- 一種降低語音丟包統(tǒng)計量的方法及基站
- 數(shù)據(jù)包的處理方法、裝置、電子設(shè)備及存儲介質(zhì)
- 一種數(shù)據(jù)包處理方法、裝置及電子設(shè)備和存儲介質(zhì)
- 一種數(shù)據(jù)傳輸方法、裝置、設(shè)備及存儲介質(zhì)





