一種網絡抖動環(huán)境下的視頻直播方法及裝置的制造方法
【技術領域】
:
[0001]本發(fā)明屬于網絡視頻播放領域,尤其涉及一種網絡抖動環(huán)境下的視頻直播方法及
目.ο
【背景技術】
:
[0002]隨著互聯網走進千家萬戶,網絡視頻直播成為人們喜聞樂見的一種在線溝通形式。不論是手機端還是電腦端,互聯網的分享思維深入人心,網絡直播的主題和內容異常豐富,形成視頻直播需求量大面廣的局面。
[0003]但現有的網絡質量并不能總是滿足網絡視頻直播的需求。網絡質量不穩(wěn)定的典型表現之一是網絡抖動。網絡抖動定義為網絡中相鄰數據包到達時延差異的最大絕對值。相鄰數據包在時延上的差異反映了網絡數據傳輸能力的波動。
[0004]網絡抖動是造成視頻播放卡頓現象的原因之一??D現象嚴重影響用戶的觀看體驗。
[0005]互聯網視頻直播的過程可以簡化為2個步驟:視頻源通過互聯網傳輸視頻數據包到播放設備端;播放設備端接收視頻并播放。在這個過程中,網絡質量關系到視頻數據包能否及時、無丟失(完整)地被傳輸到播放設備端。
[0006]區(qū)別于文件上傳下載對網絡傳輸實時性的要求不高,視頻直播需要較高的實時性,要求視頻數據包按照特定的時間節(jié)拍準時到達播放設備端。如果數據包能夠按時到達播放設備端,播放效果將是流暢的,不會出現卡頓現象。相反,如果數據包到達播放設備端的時間是不可預期的,則卡頓或者等待延時就是不可避免的。
[0007]相對于網絡傳輸能力的不確定性,網絡視頻直播則通常采用固定速度來播放視頻。波動的下行網絡數據傳輸能力與本地穩(wěn)定的數據處理能力難以得到較好的匹配。
[0008]現有技術通常引入緩沖區(qū)來解決這個不匹配問題。借助緩沖器的數據滯留功能,減小網絡傳輸能力波動對數據處理能力的影響。
[0009]緩沖區(qū)可以緩存深度固定的靜態(tài)緩存,也可以是緩存深度動態(tài)變化的動態(tài)緩存。
[0010]發(fā)明專利CN100373890C根據緩存隊列中入隊數據包和出隊數據包的時間信息判斷是否動態(tài)調整緩沖隊列的緩存深度來解決網絡抖動問題。
[0011]引入緩存深度動態(tài)變化的緩沖隊列能夠在一定程度上減小網絡抖動對視頻傳輸的影響,但動態(tài)緩存需要占用較多的存儲資源,動態(tài)調整緩存深度會占用較多的計算資源,從時間和空間兩個層面都增加了接收端的負擔。
【發(fā)明內容】
:
[0012]鑒于此,本發(fā)明旨在提出一種網絡抖動環(huán)境下的視頻直播方法及裝置,通過在本地播放器端動態(tài)調整本地的播放速度來減小網絡抖動對視頻播放觀看體驗的負面影響,從而提升用戶體驗度。
[0013]第一方面,本發(fā)明提出的視頻直播方法包括如下步驟:1、一種網絡抖動環(huán)境下的視頻直播方法,包括如下步驟:步驟S1,接收視頻并存儲于視頻緩沖區(qū);步驟S2,檢測所述緩沖區(qū)中滯留數據包的容量;步驟S3,將滯留數據包的容量與預先設置的第一閾值進行比較,根據比較結果,若滯留數據包的容量小于所述第一閾值,則調整所述播放速度小于預先設定的正常播放速度;其中,所述第一閾值通過如下方式確定:令所述第一閾值為B,所述視頻緩沖區(qū)的容量為A,則:B = A/2-A*(5%?10% ) ο
[0014]進一步地,上述視頻直播方法中,所述步驟S3中,所述容量閾值還包括第二閾值;若通過所述步驟S2獲取的滯留數據包的容量大于所述第二閾值,則:調整所述播放速大于預先設定的正常播放速度。
[0015]進一步地,上述視頻直播方法中,所述第二閾值通過如下方式確定:令所述第二閾值為 C,則:C = A/2+A* (5 % ?10 % )。
[0016]進一步地,上述視頻直播方法中,所述步驟S3中,若通過所述步驟S2獲取的滯留數據包的容量小于所述第二閾值并且大于所述第一閾值,則:調整所述播放速等于預先設定的正常播放速度。
[0017]進一步地,上述視頻直播方法中,所述預先設定的正常播放速度根據如下參數確定:播放設備的內存、用戶請求的視頻播放質量以及本地網絡帶寬。
[0018]進一步地,上述視頻直播方法中,所述的視頻緩沖區(qū)的容量根據如下參數確定:播放設備的內存、用戶請求的視頻播放質量以及本地網絡帶寬。
[0019]進一步地,上述視頻直播方法中,所述的滯留數據包容量根據緩沖區(qū)中進入數據、取出數據之差確定。
[0020]本發(fā)明的視頻直播方法通過實時檢測視頻緩沖區(qū)中滯留的數據包容量,判斷當前數據包的下行速度是否滿足當前播放速度的需要。若檢測到滯留數據包數量適當,則表明網絡數據的下行速度與本地端播放設備的視頻播放速度匹配,用戶能夠流暢地觀看視頻直播;若檢測到滯留數據包數量不適當,則表明網絡數據的下行速度與本地端播放設備的視頻播放速度不匹配,若不主動采取另外的措施,則用戶觀看視頻直播將會出卡頓現象。通過及時調整本地端播放設備的視頻播放速度,改變從緩沖區(qū)中取出數據的量,從而控制滯留數據包數量保持在適當的數量,保證用戶能夠全程流暢地觀看視頻直播。因此,本發(fā)明通過在本地播放器端動態(tài)調整本地的播放速度來減小網絡抖動對視頻播放觀看體驗的負面影響,從而提升用戶體驗度。
[0021]第二方面,本發(fā)明還公開了一種網絡抖動環(huán)境下的視頻直播裝置,包括:接收模塊、實時容量檢測模塊和播放速度調整模塊。其中,接收模塊用于接收視頻并存儲于視頻緩沖區(qū);實時容量檢測模塊用于檢測所述緩沖區(qū)中滯留數據包的容量;播放速度調整模塊用于將滯留數據包的容量與預先設置的第一閾值進行比較,根據比較結果,若滯留數據包的容量小于所述第一閾值,則調整所述播放速度小于預先設定的正常播放速度;其中,所述第一閾值通過如下方式確定:令所述第一閾值為B,所述視頻緩沖區(qū)的容量為A,則:B =A/2-A*(5%?10% ) 0
[0022]本發(fā)明的視頻直播裝置的實時容量檢測模塊通過實時檢測視頻緩沖區(qū)中滯留的數據包容量,判斷當前數據包的下行速度是否滿足當前播放速度的需要。若檢測到滯留數據包數量適當,則表明網絡數據的下行速度與本地端播放設備的視頻播放速度匹配,則播放速度調整模塊保持當前的播放速度,用戶能夠流暢地觀看視頻直播;若實時容量檢測模塊檢測到滯留數據包數量不適當,則表明網絡數據的下行速度與本地端播放設備的視頻播放速度不匹配,若不主動采取另外的措施,則用戶觀看視頻直播將會出卡頓現象。該視頻直播裝置的播放速度調整模塊通過及時調整本地端播放設備的視頻播放速度,改變從緩沖區(qū)中取出數據的量,從而控制滯留數據包數量保持在適當的數量,保證用戶能夠全程流暢地觀看視頻直播。因此,本發(fā)明的視頻直播裝置通過在本地播放器端動態(tài)調整本地的播放速度來減小網絡抖動對視頻播放觀看體驗的負面影響,從而提升用戶體驗度。
【附圖說明】
:
[0023]圖1為本發(fā)明視頻直播方法實施例的流程圖;
[0024]圖2為本發(fā)明視頻直播方法實施例調整播放速度的流程圖。
【具體實施方式】
:
[0025]下面通過具體的實施例進一步說明本發(fā)明,但是,應當理解為,這些發(fā)明僅僅是用于更詳細具體地說明之用,而不應理解為用于以任何形式限制本發(fā)明。
[0026]圖1、圖2是展示了本發(fā)明視頻直播方法實施例的流程圖。如圖1所示,本發(fā)明視頻直播方法的實施例包括如下步驟:步驟S1,接收視頻并存儲于視頻緩沖區(qū);步驟S2,實時檢測所述緩沖區(qū)中當前數據包的容量;步驟S3,將當前數據包的容量與預先設置的容量閾值進行比較,若通過所述步驟S2獲取的當前數據包的容量小于所述