直播卡頓原因詳解及優化


隨着視頻直播的發展,很多直播團隊可能會遇到視頻直播卡頓,頻繁出現緩沖標志或者直播畫面一卡一卡等情況。究竟是哪些原因造成了視頻直播觀看的卡頓情況呢?

又拍直播雲結合實踐經驗,從設備、視頻流、網絡這三方面進行解剖分析造成直播卡頓的問題及其解決方法。

視頻直播卡頓原因

造成直播視頻卡頓的原因主要有設備、視頻流、網絡這三方面的問題。

問題排查及解決方法

設備

高清視頻往往會給硬件帶來解碼壓力,由於解碼造成的卡頓尤為明顯。同時如果PC端Flash Player或移動端播放軟件版本過低,可能也會造成解碼問題導致播放卡頓情況。

如果是這個原因,解決方法有以下幾點:

  • 升級硬件、軟件設備,提高兼容性和容錯率;
  • 使用硬編硬解方案,充分利用GPU 加速;
  • 降低視頻碼率,選擇流暢或者標清畫質進行視頻播放;
  • 增大播放器緩沖區,緩解因網絡或解碼不穩定引起的卡頓。

視頻流

音視頻時間戳不同步

在直播中,當音視頻時間戳不同時,會影響畫面渲染,導致畫面解析時出現問題,造成一卡一卡的現象,如下圖所示,音視頻時間戳非單調遞增會導致播放器在解析畫面時出現錯亂的情況,前后畫面銜接會出現不連續甚至花屏的現象。

△ 音畫不同步

針對此類問題,我們需要對推流器的源碼進行研究,把讀取到的每一針音頻、視頻的時間戳進行查閱、分析,然后通過程序干涉推流器或者流媒體服務器,矯正邏輯值,從而使音畫同步。

視頻流參數配置問題

如果視頻的幀率設置過低(幀率即每秒的畫面張數),根據人眼的視覺暫留原理,每秒的畫面張數必須達到一定的數值,人眼觀看才是連續有效的。導致視頻流的編碼方式與傳輸服務器有不兼容的情況,部分音視頻數據出現了解析錯誤甚至無法解析的情況,也會出現視頻流播放卡頓的問題。

如果是這個原因,解決方法有:

  • 設置合理的碼率,幀率,分辨率,關鍵幀間隔,音視頻編碼格式等參數;
  • 盡量遵循標准的視頻編碼方案,流媒體傳輸協議,對視頻流進行采集,編碼,解碼,播放等操作。

網絡

直播網絡目前存在三種情況:無線、有線、4G。

無線網絡:WIFI 連接的直播受距離、環境等使用因素的影響,需要讓設備盡量靠近 WIFI 信號源,避免穿牆或金屬物遮擋,保持信號強度,帶寬6M以上,同時避免其他設備接入 WIFI 信號源搶占信號;

有線網絡:直播場地有專門的網口使用,最好是專線網絡,上下行帶寬不少於4M;

4G網絡:手機網絡受到周圍的環境影響大,需要在手機信號良好的地方,並且防止網絡波動,在直播時最好選擇4G卡。

上傳網絡

當主播端網絡較差時,會導致推流端上行不穩定,這個時候可以通過 speedtest 進行測速,判斷主播端的網絡速度。

△ speedtest測速示例

同時國內CDN廠商后台也多會提供推流端檢測工具,這個時候就可以使用又拍雲CDN后台進行推流端檢測,查看是否是推流端網速問題。

△ 又拍雲流管控后台

下行網絡

觀眾播放端的網絡也可能存在波動問題,需要定位是否是大面積的觀眾卡頓還是局部觀眾卡頓。

解決方法有:

  • 用戶通過 speedtest 進行測速,判斷終端的網絡速度;
  • 用戶 ping 播放域名,查看解析到的服務器節點,判斷自身IP 到服務器之間是否有延遲過大或者丟包的情況出現;
  • 聯系 CDN 廠商排查線路是否有不穩定的現象,也可以通過播放器打點上報,統計所有客戶端的整體卡頓率情況,分地區做一些線路和資源的調整和優化。

△ ping 播放域名

服務器

一場直播需要保證音視頻數據的實時傳輸,推拉流穩定,高並發人數下的系統穩定性,現在國內的直播平台多選擇CDN廠商進行直播底層業務支撐,當直播觀看人數並發較大時,常會給服務器負載造成壓力,帶寬數據量大,傳輸緩慢,導致卡頓。

目前,國內的CDN廠商基本都提供檢測工具,可以在控制台查看CDN情況的使用情況以及各省份的服務器的下載速率和負載情況,如下圖是又拍雲的服務監控后台,圖中可以看到整體的健康度以及各省份的服務器平均下載速率。

△ 又拍雲的服務監控后台

△ 又拍雲CDN檢測工具

其次可以通過工單或者聯系在線技術支持進行CDN線路排查,選擇更適合的服務線路。

視頻直播卡頓中會有多種問題存在,需要從各個方面去排查,性能優異的推流端、播放端與CDN服務可以減少很多不必要的麻煩,更加專注於直播內容的產出。

又拍直播雲解決方案,支持RTML、HLS、HTTP FLV視頻傳輸協議,首創HLS+技術,將HLS直播延遲減少至4秒。並且提供功能豐富的跨平台推流端、播放段SDK工具包降低開發成本、縮短上線周期。

推薦閱讀

從Html5直播到互動直播,看直播協議的選擇
WebSocket+MSE——HTML5 直播技術解析
讓Chrome看不了WWDC直播的HLS技術詳解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM