隨着視頻直播的發展,不少直播團隊可能會遇到視頻直播卡頓,頻繁出現緩衝標誌或者直播畫面一卡一卡等狀況。到底是哪些緣由形成了視頻直播觀看的卡頓狀況呢?服務器
又拍直播雲結合實踐經驗,從設備、視頻流、網絡這三方面進行解剖分析形成直播卡頓的問題及其解決方法。網絡
形成直播視頻卡頓的緣由主要有設備、視頻流、網絡這三方面的問題。併發
高清視頻每每會給硬件帶來解碼壓力,因爲解碼形成的卡頓尤其明顯。同時若是PC端Flash Player或移動端播放軟件版本太低,可能也會形成解碼問題致使播放卡頓狀況。高併發
若是是這個緣由,解決方法有如下幾點:工具
在直播中,當音視頻時間戳不一樣時,會影響畫面渲染,致使畫面解析時出現問題,形成一卡一卡的現象,以下圖所示,音視頻時間戳非單調遞增會致使播放器在解析畫面時出現錯亂的狀況,先後畫面銜接會出現不連續甚至花屏的現象。性能
△ 音畫不一樣步優化
針對此類問題,咱們須要對推流器的源碼進行研究,把讀取到的每一針音頻、視頻的時間戳進行查閱、分析,而後經過程序干涉推流器或者流媒體服務器,矯正邏輯值,從而使音畫同步。編碼
若是視頻的幀率設置太低(幀率即每秒的畫面張數),根據人眼的視覺暫留原理,每秒的畫面張數必須達到必定的數值,人眼觀看纔是連續有效的。致使視頻流的編碼方式與傳輸服務器有不兼容的狀況,部分音視頻數據出現瞭解析錯誤甚至沒法解析的狀況,也會出現視頻流播放卡頓的問題。3d
若是是這個緣由,解決方法有:視頻
直播網絡目前存在三種狀況:無線、有線、4G。
無線網絡:WIFI 鏈接的直播受距離、環境等使用因素的影響,須要讓設備儘可能靠近 WIFI 信號源,避免穿牆或金屬物遮擋,保持信號強度,帶寬6M以上,同時避免其餘設備接入 WIFI 信號源搶佔信號;
有線網絡:直播場地有專門的網口使用,最好是專線網絡,上下行帶寬很多於4M;
4G網絡:手機網絡受到周圍的環境影響大,須要在手機信號良好的地方,而且防止網絡波動,在直播時最好選擇4G卡。
當主播端網絡較差時,會致使推流端上行不穩定,這個時候能夠經過 speedtest 進行測速,判斷主播端的網絡速度。
△ speedtest測速示例
同時國內CDN廠商後臺也多會提供推流端檢測工具,這個時候就可使用又拍雲CDN後臺進行推流端檢測,查看是不是推流端網速問題。
△ 又拍雲流管控後臺
觀衆播放端的網絡也可能存在波動問題,須要定位是不是大面積的觀衆卡頓仍是局部觀衆卡頓。
解決方法有:
△ ping 播放域名
一場直播須要保證音視頻數據的實時傳輸,推拉流穩定,高併發人數下的系統穩定性,如今國內的直播平臺多選擇CDN廠商進行直播底層業務支撐,當直播觀看人數併發較大時,常會給服務器負載形成壓力,帶寬數據量大,傳輸緩慢,致使卡頓。
目前,國內的CDN廠商基本都提供檢測工具,能夠在控制檯查看CDN狀況的使用狀況以及各省份的服務器的下載速率和負載狀況,以下圖是又拍雲的服務監控後臺,圖中能夠看到總體的健康度以及各省份的服務器平均下載速率。
△ 又拍雲的服務監控後臺
△ 又拍雲CDN檢測工具
其次能夠經過工單或者聯繫在線技術支持進行CDN線路排查,選擇更適合的服務線路。
視頻直播卡頓中會有多種問題存在,須要從各個方面去排查,性能優異的推流端、播放端與CDN服務能夠減小不少沒必要要的麻煩,更加專一於直播內容的產出。
又拍直播雲解決方案,支持RTML、HLS、HTTP FLV視頻傳輸協議,獨創HLS+技術,將HLS直播延遲減小至4秒。而且提供功能豐富的跨平臺推流端、播放段SDK工具包下降開發成本、縮短上線週期。
從Html5直播到互動直播,看直播協議的選擇
WebSocket+MSE——HTML5 直播技術解析
讓Chrome看不了WWDC直播的HLS技術詳解