造成直播卡頓的原因主要有裝置、影片流、網路這三個方面的原因。
一、裝置方面問題:
(1)升級硬體、軟體裝置,提高相容性和容錯率
(2)使用硬編硬解方案,充分利用GPU 加速
(3)降低影片位元速率,選擇流暢或者標清畫質進行影片播放
(4)增大播放器緩衝區,緩解因網路或解碼不穩定引起的卡頓
二、影片流問題:
在直播中,當音影片時間戳不同時,會影響畫面渲染,導致畫面解析是出現問題,造成一卡一卡的現象出現,音影片時間戳非單調遞增會導致播放器在解析畫面時出現錯亂的情況,前後畫面銜接會出現不連續甚至破圖的現象。
針對問題,我們需要對推流器的原始碼進行研究,把讀取到的每一針音訊、影片的時間戳進行查閱、分析,然後透過程式干涉推流器或者流媒體伺服器,矯正邏輯值,從而使音畫同步。
2.影片流引數配置問題:
如果影片的的幀率設定過低(幀率即每秒的畫面張數),根據人眼的視覺暫留原理,每秒的畫面張數必須達到一定的數值,人眼觀看才是連續有效的。
如果影片流的編碼方式與傳輸伺服器有不相容的情況,部分音影片資料出現瞭解析錯誤甚至無法解析的情況,也會出現影片流播放卡頓的問題。
如果是這個原因,解決方法有:
(1)設定合理的位元速率,幀率,解析度,關鍵幀間隔,音影片編碼格式等引數
(2)儘量遵循標準的影片編碼方案,流媒體傳輸協議,對影片流進行採集,編碼,解碼,播放等操作
三、網路問題:
如果是網路存在問題可以透過以下幾個方法解決問題:
1.使用 speedtest 進行測速,判斷終端的網路速度
2.使用者 ping 播放域名,檢視解析到的伺服器節點,判斷自身IP 到伺服器之間是否有延遲過大或者丟包的情況出現
3.聯絡 CDN 廠商排查線路是否有不穩定的現象,也可以透過播放器打點上報,統計所有客戶端的整體卡頓率情況,分地區做一些線路和資源的調整和最佳化。
造成直播卡頓的原因主要有裝置、影片流、網路這三個方面的原因。
一、裝置方面問題:
高畫質影片往往會給硬體帶來解碼壓力,尤其是在高畫質影片的情況下,這一點造成的卡頓尤為明顯。同時如果PC端Flash Player或移動端播放軟體版本過低時,可能也都會造成解碼問題導致播放卡頓。如果是這個原因,解決方法有以下幾點:(1)升級硬體、軟體裝置,提高相容性和容錯率
(2)使用硬編硬解方案,充分利用GPU 加速
(3)降低影片位元速率,選擇流暢或者標清畫質進行影片播放
(4)增大播放器緩衝區,緩解因網路或解碼不穩定引起的卡頓
二、影片流問題:
音影片時間戳不同步:在直播中,當音影片時間戳不同時,會影響畫面渲染,導致畫面解析是出現問題,造成一卡一卡的現象出現,音影片時間戳非單調遞增會導致播放器在解析畫面時出現錯亂的情況,前後畫面銜接會出現不連續甚至破圖的現象。
針對問題,我們需要對推流器的原始碼進行研究,把讀取到的每一針音訊、影片的時間戳進行查閱、分析,然後透過程式干涉推流器或者流媒體伺服器,矯正邏輯值,從而使音畫同步。
2.影片流引數配置問題:
如果影片的的幀率設定過低(幀率即每秒的畫面張數),根據人眼的視覺暫留原理,每秒的畫面張數必須達到一定的數值,人眼觀看才是連續有效的。
如果影片流的編碼方式與傳輸伺服器有不相容的情況,部分音影片資料出現瞭解析錯誤甚至無法解析的情況,也會出現影片流播放卡頓的問題。
如果是這個原因,解決方法有:
(1)設定合理的位元速率,幀率,解析度,關鍵幀間隔,音影片編碼格式等引數
(2)儘量遵循標準的影片編碼方案,流媒體傳輸協議,對影片流進行採集,編碼,解碼,播放等操作
三、網路問題:
如果是網路存在問題可以透過以下幾個方法解決問題:
1.使用 speedtest 進行測速,判斷終端的網路速度
2.使用者 ping 播放域名,檢視解析到的伺服器節點,判斷自身IP 到伺服器之間是否有延遲過大或者丟包的情況出現
3.聯絡 CDN 廠商排查線路是否有不穩定的現象,也可以透過播放器打點上報,統計所有客戶端的整體卡頓率情況,分地區做一些線路和資源的調整和最佳化。