亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法及系統(tǒng)的制作方法

文檔序號:10538773閱讀:329來源:國知局
一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法及系統(tǒng),所述方法包括:獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá)的最長時(shí)間;根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲得緩沖區(qū)預(yù)設(shè)閾值;根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),獲得每幀發(fā)送等待時(shí)間;根據(jù)所述每幀發(fā)送等待時(shí)間調(diào)整每幀發(fā)送間隔。本發(fā)明實(shí)施例通過動(dòng)態(tài)調(diào)整音視頻數(shù)據(jù)幀的發(fā)送速率,從而調(diào)整每幀發(fā)送的時(shí)間間隔,保證每一幀都完整的接收和發(fā)送,即便遇到網(wǎng)絡(luò)抖動(dòng)的情況,也可以大幅規(guī)避因此原因造成的視頻畫面花屏,卡頓等現(xiàn)象。
【專利說明】
一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法及 系統(tǒng)。
【背景技術(shù)】
[0002] 當(dāng)前,伴隨著網(wǎng)絡(luò)技術(shù)的大力推廣及普及,我們迎來了一個(gè)移動(dòng)網(wǎng)絡(luò)的新時(shí)代,這 意味著我們開始真正進(jìn)入了移動(dòng)互聯(lián)網(wǎng)時(shí)代,人們對網(wǎng)絡(luò)的依賴性也加強(qiáng)了,更加快速的 網(wǎng)絡(luò)使得使用公網(wǎng)傳輸音視頻成為可能,進(jìn)而帶動(dòng)了網(wǎng)絡(luò)直播及流媒體技術(shù)的快速發(fā)展, 使人們擺脫了衛(wèi)星直播高投入,重設(shè)備的束縛,隨時(shí)隨地的可以進(jìn)行直播和觀看直播。大量 的直播平臺和直播軟件也開始涌現(xiàn)。在高速網(wǎng)絡(luò)逐漸普及的背景下,音視頻流媒體技術(shù)日 益欣欣向榮。
[0003] 隨著音視頻網(wǎng)絡(luò)傳輸技術(shù)的不斷提升和完善,視頻直播功能在不同領(lǐng)域都得到了 非常廣泛的應(yīng)用,例如現(xiàn)在最火爆的網(wǎng)絡(luò)視頻直播真人秀;教育行業(yè)的校園電視臺;醫(yī)療行 業(yè)的手術(shù)直播;政府、企業(yè)的產(chǎn)品展示、在線招聘;還有在線路演、拍賣、競標(biāo)等等……但是 隨著視頻直播的普及,網(wǎng)絡(luò)傳輸不穩(wěn)定性的這一缺點(diǎn)也逐漸開始暴露出來,一旦出現(xiàn)網(wǎng)絡(luò) 抖動(dòng)或者網(wǎng)絡(luò)切換等情況,網(wǎng)絡(luò)質(zhì)量降低,正在直播的視頻畫面就會出現(xiàn)花屏,卡頓等現(xiàn) 象。對于網(wǎng)絡(luò)音視頻傳輸與分發(fā),帶來了一定的困難,亟需要一種能夠簡單有效解決網(wǎng)絡(luò)傳 輸問題的方案。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明提供一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法及系統(tǒng),通過動(dòng)態(tài)調(diào)整音視頻數(shù) 據(jù)幀的發(fā)送速率,從而調(diào)整每幀發(fā)送的時(shí)間間隔,保證每一幀都完整的接收和發(fā)送,即便遇 到網(wǎng)絡(luò)抖動(dòng)的情況,也可以大幅規(guī)避因此原因造成的視頻畫面花屏,卡頓等現(xiàn)象。
[0005] 本發(fā)明提供一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法,包括:
[0006] 獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá)的最長時(shí)間;
[0007] 根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲得緩沖區(qū)預(yù)設(shè)閾值;
[0008] 根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),獲得每幀發(fā)送等待時(shí)間;
[0009] 根據(jù)所述每幀發(fā)送等待時(shí)間調(diào)整每幀發(fā)送間隔。
[0010] 所述獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá)的最長時(shí)間,包括:
[0011] 檢測所述音視頻數(shù)據(jù)的單幀數(shù)據(jù)量最大時(shí),所述單幀最后一包數(shù)據(jù)的達(dá)到時(shí)間;
[0012] 重復(fù)上述步驟,將得到的最大的單幀到達(dá)時(shí)間作為所述單幀到達(dá)的最長時(shí)間。
[0013] 所述根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲得緩沖區(qū)預(yù)設(shè)閾值,包括:
[0014] 用所述最長時(shí)間除以當(dāng)前設(shè)定幀率的單幀發(fā)送時(shí)間間隔,計(jì)算出在所述最長時(shí)間 內(nèi),所能分發(fā)出的幀數(shù);
[0015] 將所述幀數(shù)作為所述緩沖區(qū)預(yù)設(shè)閾值。
[0016] 所述根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),獲得每幀發(fā)送等待時(shí)間, 包括:
[0017] 用所述緩沖區(qū)預(yù)設(shè)閾值除以當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),再乘以當(dāng)前設(shè)定幀率的單幀發(fā) 送時(shí)間間隔,得到每幀發(fā)送等待時(shí)間。
[0018] 所述方法還包括:
[0019] 所述緩存區(qū)內(nèi)的幀數(shù)低于緩存區(qū)預(yù)設(shè)閾值時(shí),啟動(dòng)彈性緩存區(qū)機(jī)制,觸發(fā)延時(shí)等 待操作;
[0020] 所述延時(shí)等待操作包括加大每幀發(fā)送等待時(shí)間。
[0021] 所述方法還包括:
[0022] 當(dāng)所述緩存區(qū)內(nèi)的幀數(shù)高于緩存區(qū)預(yù)設(shè)閾值時(shí),關(guān)閉彈性緩存區(qū)機(jī)制。
[0023] -種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存系統(tǒng),包括:
[0024] 最長時(shí)間獲取單元,用于獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá)的最長時(shí)間;
[0025] 緩沖區(qū)預(yù)設(shè)值單元,用于根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲得緩沖區(qū)預(yù)設(shè)閾 值;
[0026] 等待時(shí)間計(jì)算單元,用于根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),獲得 每幀發(fā)送等待時(shí)間;
[0027] 發(fā)送間隔調(diào)整單元,用于根據(jù)所述每幀發(fā)送等待時(shí)間調(diào)整每幀發(fā)送間隔。
[0028]所述最長時(shí)間獲取單元,還用于:
[0029] 檢測所述音視頻數(shù)據(jù)的單幀數(shù)據(jù)量最大時(shí),所述單幀最后一包數(shù)據(jù)的達(dá)到時(shí)間;
[0030] 重復(fù)上述步驟,將得到的最大的單幀到達(dá)時(shí)間作為所述單幀到達(dá)的最長時(shí)間。 [0031]所述緩沖區(qū)預(yù)設(shè)值單元,還用于:
[0032] 用所述最長時(shí)間除以當(dāng)前設(shè)定幀率的單幀發(fā)送時(shí)間間隔,計(jì)算出在所述最長時(shí)間 內(nèi),所能分發(fā)出的幀數(shù);
[0033] 將所述幀數(shù)作為所述緩沖區(qū)預(yù)設(shè)閾值。
[0034]所述等待時(shí)間計(jì)算單元,還用于:
[0035]用所述緩沖區(qū)預(yù)設(shè)閾值除以當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),再乘以當(dāng)前設(shè)定幀率的單幀發(fā) 送時(shí)間間隔,得到每幀發(fā)送等待時(shí)間。
[0036] 本發(fā)明實(shí)施例中,由于采用了上述技術(shù)方案,與現(xiàn)有技術(shù)相比,通過動(dòng)態(tài)調(diào)整音視 頻數(shù)據(jù)幀的發(fā)送速率,從而調(diào)整每幀發(fā)送的時(shí)間間隔,保證每一幀都完整的接收和發(fā)送,即 便遇到網(wǎng)絡(luò)抖動(dòng)的情況,也可以大幅規(guī)避因此原因造成的視頻畫面花屏,卡頓等現(xiàn)象。
[0037] 本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明 書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
[0038] 下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【附圖說明】
[0039]附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí) 施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0040] 圖1為本發(fā)明實(shí)施例1提供的網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法原理流程圖。
[0041] 圖2為本發(fā)明實(shí)施例1提供的網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法示意圖。
[0042] 圖3為本發(fā)明實(shí)施例2提供的網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0043] 以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí) 施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0044] 如圖1所示,為本發(fā)明實(shí)施例1提供的一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法原理流 程圖,其中,
[0045] 步驟11,獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá)的最長時(shí)間;
[0046] 步驟12,根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲得緩沖區(qū)預(yù)設(shè)閾值;
[0047] 步驟13,根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),獲得每幀發(fā)送等待時(shí) 間;
[0048] 步驟14,根據(jù)所述每幀發(fā)送等待時(shí)間調(diào)整每幀發(fā)送間隔。
[0049] 其中,所述獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá)的最長時(shí)間,包括:
[0050] 檢測所述音視頻數(shù)據(jù)的單幀數(shù)據(jù)量最大時(shí),所述單幀最后一包數(shù)據(jù)的達(dá)到時(shí)間;
[0051] 重復(fù)上述步驟,將得到的最大的單幀到達(dá)時(shí)間作為所述單幀到達(dá)的最長時(shí)間。
[0052] 所述根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲得緩沖區(qū)預(yù)設(shè)閾值,包括:
[0053] 用所述最長時(shí)間除以當(dāng)前設(shè)定幀率的單幀發(fā)送時(shí)間間隔,計(jì)算出在所述最長時(shí)間 內(nèi),所能分發(fā)出的幀數(shù);
[0054]將所述幀數(shù)作為所述緩沖區(qū)預(yù)設(shè)閾值。
[0055] 所述根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),獲得每幀發(fā)送等待時(shí)間, 包括:
[0056] 用所述緩沖區(qū)預(yù)設(shè)閾值除以當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),再乘以當(dāng)前設(shè)定幀率的單幀發(fā) 送時(shí)間間隔,得到每幀發(fā)送等待時(shí)間。
[0057]所述方法還包括:
[0058]所述緩存區(qū)內(nèi)的幀數(shù)低于緩存區(qū)預(yù)設(shè)閾值時(shí),啟動(dòng)彈性緩存區(qū)機(jī)制,觸發(fā)延時(shí)等 待操作;
[0059]所述延時(shí)等待操作包括加大每幀發(fā)送等待時(shí)間。
[0060] 所述方法還包括:
[0061] 當(dāng)所述緩存區(qū)內(nèi)的幀數(shù)高于緩存區(qū)預(yù)設(shè)閾值時(shí),關(guān)閉彈性緩存區(qū)機(jī)制。
[0062] 具體來說,基于本發(fā)明實(shí)施例的機(jī)制,可以做到在網(wǎng)絡(luò)抖動(dòng),網(wǎng)絡(luò)質(zhì)量不佳的情況 下,仍舊在分發(fā)服務(wù)器端輸出一個(gè)持續(xù)穩(wěn)定的視頻直播流。
[0063] 本發(fā)明實(shí)施例中的網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng),就是在分發(fā)服務(wù)器端,根據(jù)當(dāng)前所收到的音 視頻數(shù)據(jù)量,自動(dòng)調(diào)整每幀發(fā)送等待時(shí)間,保證發(fā)送出去的每一幀都是完整數(shù)據(jù)。
[0064] 如圖2所示,分發(fā)服務(wù)器接收到數(shù)據(jù)后,從數(shù)據(jù)池中提取數(shù)據(jù),存儲在彈性緩存區(qū)。 在彈性緩存區(qū)中獎(jiǎng)數(shù)據(jù)包組裝成數(shù)據(jù)幀,然后分發(fā)數(shù)據(jù)。
[0065] 在極度惡劣網(wǎng)絡(luò)環(huán)境下,檢測單幀數(shù)據(jù)量最大時(shí),單幀最后一包數(shù)據(jù)的到達(dá)時(shí)間。 大量重復(fù)該測試,記錄下最大單幀時(shí)長,也就是單幀到達(dá)時(shí)間,將得到的最大的單幀到達(dá)時(shí) 間作為所述單幀到達(dá)的最長時(shí)間。
[0066] 用最大單幀時(shí)長除以設(shè)定幀率的單幀發(fā)送時(shí)間間隔,計(jì)算出在最大單幀時(shí)長內(nèi), 所能分發(fā)出的幀數(shù)。因?yàn)榻?jīng)過測試可知,在該時(shí)長內(nèi),若不存在丟包現(xiàn)象,單幀一定可以收 取完整數(shù)據(jù),然后拼接完成進(jìn)行推送,也就是多于該幀數(shù)的分發(fā)時(shí)間,需要至少多用一倍的 時(shí)間才能保證兩幀能夠收全并拼接發(fā)送,少于該幀數(shù)的分發(fā)時(shí)間,無法保證一幀一定能夠 收全并拼接發(fā)送,且在單幀結(jié)束發(fā)送等待時(shí)間后,下幀的發(fā)送等待時(shí)間不會少于最大單幀 時(shí)長,綜合考慮實(shí)現(xiàn)效率和實(shí)現(xiàn)目的,所以可以設(shè)定該幀數(shù)即為緩存區(qū)預(yù)設(shè)閾值,如下述公 式所示。
[0067]
[0068]經(jīng)過大量重復(fù)測試后可知,當(dāng)網(wǎng)絡(luò)正常時(shí),單幀收取完整數(shù)據(jù)時(shí)長不會超過前端 設(shè)備的每幀發(fā)送時(shí)間間隔,所以按照幀率發(fā)送每幀數(shù)據(jù)即可;當(dāng)出現(xiàn)網(wǎng)絡(luò)抖動(dòng),網(wǎng)絡(luò)質(zhì)量下 降時(shí),單幀收取完整時(shí)長會超過前端設(shè)備的每幀發(fā)送時(shí)間間隔,此時(shí)若繼續(xù)按照幀率發(fā)送 每幀,就會出現(xiàn)單幀收取數(shù)據(jù)不完整的情況,因此就需要延長每幀發(fā)送等待時(shí)間來等待收 取完整數(shù)據(jù)。且在網(wǎng)絡(luò)質(zhì)量下降時(shí),緩存區(qū)內(nèi)的幀數(shù)會越發(fā)越少,所以需要不停加大每幀發(fā) 送等待時(shí)間來保證單幀的數(shù)據(jù)完整性,如下述公式所示。
[0069]
[0070] 本實(shí)施例還提供一種彈性緩存區(qū)機(jī)制,就是預(yù)先在分發(fā)服務(wù)器端開辟出一段緩存 區(qū),用來保存緩存視頻數(shù)據(jù),緩存區(qū)內(nèi)數(shù)據(jù)量會根據(jù)網(wǎng)絡(luò)狀況的改變而實(shí)時(shí)發(fā)生變化。
[0071] 在正常網(wǎng)絡(luò)情況下,服務(wù)器端的數(shù)據(jù)可以正常收取拼接,彈性緩存區(qū)機(jī)制尚未啟 動(dòng),每幀都按照幀率正常發(fā)送。
[0072] 當(dāng)網(wǎng)絡(luò)發(fā)生抖動(dòng),網(wǎng)絡(luò)質(zhì)量下降,彈性緩存區(qū)內(nèi)的幀數(shù)低于緩存區(qū)預(yù)設(shè)閾值量時(shí), 每幀完整數(shù)據(jù)達(dá)到服務(wù)器的時(shí)間會變長,此時(shí)彈性緩存區(qū)機(jī)制啟動(dòng),觸發(fā)延時(shí)等待操作。延 時(shí)等待操作即按照上述公式計(jì)算出的每幀發(fā)送等待時(shí)間來延長每幀發(fā)送等待時(shí)間,以此來 等待收取到每幀完整數(shù)據(jù),保證拼幀完整,視頻流正常。
[0073]當(dāng)網(wǎng)絡(luò)再次恢復(fù)正常后,服務(wù)器端收取數(shù)據(jù)恢復(fù)正常,此時(shí)需將收取到的視頻數(shù) 據(jù)拼接完成,填充到緩存區(qū)達(dá)預(yù)設(shè)閾值量,彈性緩存區(qū)機(jī)制再次處于尚未啟動(dòng)狀態(tài)。
[0074] 本發(fā)明實(shí)施例,由于采用了上述技術(shù)方案,與現(xiàn)有技術(shù)相比,通過動(dòng)態(tài)調(diào)整音視頻 數(shù)據(jù)幀的發(fā)送速率,從而調(diào)整每幀發(fā)送的時(shí)間間隔,保證每一幀都完整的接收和發(fā)送,即便 遇到網(wǎng)絡(luò)抖動(dòng)的情況,也可以大幅規(guī)避因此原因造成的視頻畫面花屏,卡頓等現(xiàn)象。
[0075] 如圖3所示,為本發(fā)明實(shí)施例2提供的一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存系統(tǒng)結(jié)構(gòu)示 意圖,具體如下:
[0076] 最長時(shí)間獲取單元21,用于獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá)的最長時(shí)間;
[0077] 緩沖區(qū)預(yù)設(shè)值單元22,用于根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲得緩沖區(qū)預(yù)設(shè) 閾值;
[0078] 等待時(shí)間計(jì)算單元23,用于根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),獲 得每幀發(fā)送等待時(shí)間;
[0079] 發(fā)送間隔調(diào)整單元24,用于根據(jù)所述每幀發(fā)送等待時(shí)間調(diào)整每幀發(fā)送間隔。
[0080] 具體的,上述最長時(shí)間獲取單元21,還用于:
[0081 ]檢測所述音視頻數(shù)據(jù)的單幀數(shù)據(jù)量最大時(shí),所述單幀最后一包數(shù)據(jù)的達(dá)到時(shí)間;
[0082] 重復(fù)上述步驟,將得到的最大的單幀到達(dá)時(shí)間作為所述單幀到達(dá)的最長時(shí)間。
[0083] 具體的,上述緩沖區(qū)預(yù)設(shè)值單元22,還用于:
[0084] 用所述最長時(shí)間除以當(dāng)前設(shè)定幀率的單幀發(fā)送時(shí)間間隔,計(jì)算出在所述最長時(shí)間 內(nèi),所能分發(fā)出的幀數(shù);
[0085] 將所述幀數(shù)作為所述緩沖區(qū)預(yù)設(shè)閾值。
[0086] 具體的,上述等待時(shí)間計(jì)算單元23,還用于:
[0087] 用所述緩沖區(qū)預(yù)設(shè)閾值除以當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),再乘以當(dāng)前設(shè)定幀率的單幀發(fā) 送時(shí)間間隔,得到每幀發(fā)送等待時(shí)間。
[0088] 綜上所述,本發(fā)明實(shí)施例中,由于采用了上述技術(shù)方案,與現(xiàn)有技術(shù)相比,通過動(dòng) 態(tài)調(diào)整音視頻數(shù)據(jù)幀的發(fā)送速率,從而調(diào)整每幀發(fā)送的時(shí)間間隔,保證每一幀都完整的接 收和發(fā)送,即便遇到網(wǎng)絡(luò)抖動(dòng)的情況,也可以大幅規(guī)避因此原因造成的視頻畫面花屏,卡頓 等現(xiàn)象。
[0089] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序 產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí) 施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī) 可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形 式。
[0090] 本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程 圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流 程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序 指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn) 生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí) 現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0091] 這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特 定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指 令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或 多個(gè)方框中指定的功能。
[0092] 這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì) 算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或 其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一 個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0093] 顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【主權(quán)項(xiàng)】
1. 一種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存方法,其特征在于,包括: 獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá)的最長時(shí)間; 根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲得緩沖區(qū)預(yù)設(shè)閾值; 根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),獲得每幀發(fā)送等待時(shí)間; 根據(jù)所述每幀發(fā)送等待時(shí)間調(diào)整每幀發(fā)送間隔。2. 如權(quán)利要求1所述的方法,其特征在于,所述獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá) 的最長時(shí)間,包括: 檢測所述音視頻數(shù)據(jù)的單幀數(shù)據(jù)量最大時(shí),所述單幀最后一包數(shù)據(jù)的達(dá)到時(shí)間; 重復(fù)上述步驟,將得到的最大的單幀到達(dá)時(shí)間作為所述單幀到達(dá)的最長時(shí)間。3. 如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲 得緩沖區(qū)預(yù)設(shè)閾值,包括: 用所述最長時(shí)間除以當(dāng)前設(shè)定幀率的單幀發(fā)送時(shí)間間隔,計(jì)算出在所述最長時(shí)間內(nèi), 所能分發(fā)出的幀數(shù); 將所述幀數(shù)作為所述緩沖區(qū)預(yù)設(shè)閾值。4. 如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū) 內(nèi)的幀數(shù),獲得每幀發(fā)送等待時(shí)間,包括: 用所述緩沖區(qū)預(yù)設(shè)閾值除以當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),再乘以當(dāng)前設(shè)定幀率的單幀發(fā)送時(shí) 間間隔,得到每幀發(fā)送等待時(shí)間。5. 如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述緩存區(qū)內(nèi)的幀數(shù)低于緩存區(qū)預(yù)設(shè)閾值時(shí),啟動(dòng)彈性緩存區(qū)機(jī)制,觸發(fā)延時(shí)等待操 作; 所述延時(shí)等待操作包括加大每幀發(fā)送等待時(shí)間。6. 如權(quán)利要求5所述的方法,其特征在于,所述方法還包括: 當(dāng)所述緩存區(qū)內(nèi)的幀數(shù)高于緩存區(qū)預(yù)設(shè)閾值時(shí),關(guān)閉彈性緩存區(qū)機(jī)制。7. -種網(wǎng)絡(luò)動(dòng)態(tài)自適應(yīng)音視頻緩存系統(tǒng),其特征在于,包括: 最長時(shí)間獲取單元,用于獲取接收到的音視頻數(shù)據(jù)幀中單幀到達(dá)的最長時(shí)間; 緩沖區(qū)預(yù)設(shè)值單元,用于根據(jù)所述最長時(shí)間和當(dāng)前設(shè)定幀率,獲得緩沖區(qū)預(yù)設(shè)閾值; 等待時(shí)間計(jì)算單元,用于根據(jù)所述緩沖區(qū)預(yù)設(shè)閾值和當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),獲得每幀 發(fā)送等待時(shí)間; 發(fā)送間隔調(diào)整單元,用于根據(jù)所述每幀發(fā)送等待時(shí)間調(diào)整每幀發(fā)送間隔。8. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述最長時(shí)間獲取單元,還用于: 檢測所述音視頻數(shù)據(jù)的單幀數(shù)據(jù)量最大時(shí),所述單幀最后一包數(shù)據(jù)的達(dá)到時(shí)間; 重復(fù)上述步驟,將得到的最大的單幀到達(dá)時(shí)間作為所述單幀到達(dá)的最長時(shí)間。9. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述緩沖區(qū)預(yù)設(shè)值單元,還用于: 用所述最長時(shí)間除以當(dāng)前設(shè)定幀率的單幀發(fā)送時(shí)間間隔,計(jì)算出在所述最長時(shí)間內(nèi), 所能分發(fā)出的幀數(shù); 將所述幀數(shù)作為所述緩沖區(qū)預(yù)設(shè)閾值。10. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述等待時(shí)間計(jì)算單元,還用于: 用所述緩沖區(qū)預(yù)設(shè)閾值除以當(dāng)前緩沖區(qū)內(nèi)的幀數(shù),再乘以當(dāng)前設(shè)定幀率的單幀發(fā)送時(shí) 間間隔,得到每幀發(fā)送等待時(shí)間。
【文檔編號】H04L29/08GK105897759SQ201610416376
【公開日】2016年8月24日
【申請日】2016年6月14日
【發(fā)明人】呂大鵬
【申請人】青島乾元通數(shù)碼科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1