情境
觀看ApsaraVideo for Live時畫面出現卡頓現象。
排查
此問題涉及的原因較多,請參考以下各環節的問題可能性,並根據現場實際情況進行處理:
- 推流端
- 上行頻寬不足或網路抖動,導致的資料發送速率下降,無法達到流暢播放的幀率要求。
解決方案:建議您使用網速測試載入器Speedtest測試您當前網路的上行頻寬情況。
- 碼率、幀率或編碼檔位設定的過高,但硬體條件存在限制,導致編碼速度變慢,無法達到流暢播放的幀率要求。
解決方案:請嘗試降低碼率、幀率或編碼檔位的設定,檢查卡頓現象是否有好轉。如果發生好轉,您可以考慮升級推流端的硬體設定。
- 推流過程中會有一定的CPU損耗,硬體設定較差的低端手機,在推流過程中若整體CPU 使用率超過80%以上,畫面會出現不同程度的卡頓,花屏等現象,會影響到視頻的採集,同時也會影響到使用者端的觀看。
- 視頻採集參數的設定過低。
解決方案:人眼識別為流暢的視頻需要FPS每秒15幀以上。如果FPS低於10幀,畫面就會出現較明顯的卡頓。如無特殊情況,盡量將視訊框架率設定在每秒15幀之上。
雖然視頻的幀率越高畫面流暢感越強,但是幀率超過每秒30幀後,人眼就無法識別出畫面的效果,幀率增加也會增加視頻傳輸的頻寬成本,建議您合理設定視頻的參數。
- 上行頻寬不足或網路抖動,導致的資料發送速率下降,無法達到流暢播放的幀率要求。
- 服務端
為了保證視頻的秒開以及降低視頻的卡頓,服務端預設會緩衝4秒左右的資料,根據GOP大小不同會有波動,您可以通過設定該緩衝時間來減少卡頓。
您可以嘗試將協議的延時設定為高,然後儲存配置。具體操作請參見延遲配置。
- 實際延時與延時設定、推流的主要畫面格間隔(GOP)兩個因素相關。例如RTMP延時配置為中檔,主要畫面格間隔(GOP)大小為2s,則實際延時為2s~6s。
- 設定高延時會導致直播端和播放端的不同步,請根據業務需求選擇合適的延時程度。
- 播放端
大部分播放器都有接收緩衝的,緩衝收滿後,才進行解碼顯示,這部分接收緩衝的大小也會影響播放的卡頓情況;您可以通過調整接收緩衝的大小,減少卡頓影響。
- 網路頻寬
大多數畫面出現卡頓的現象均來自網路因素,以下列出幾條常見因素。
- 網路頻寬大小:確認網路電訊廠商提供給您的頻寬大小,是否足夠本次直播傳輸。
- 下行頻寬佔用:檢查是否有下載資料佔用網路頻寬。
- 系統資源佔用:檢查後台是否運行了大量的程式,請您合理的刪除和停止正在啟動並執行程式,空出資源。