當前位置:
首頁 > 知識 > 網路視頻直播系統需要執行的優化方案

網路視頻直播系統需要執行的優化方案

什麼樣的視頻直播系統才能算得上優秀呢?因人而異,喜好不同,對於網路視頻直播系統的評判標準也各不相同。但是相信大家對於網路視頻直播系統性能的判定標準會是一致的。即直播中的延遲、卡頓和首屏耗時,這三點是直接影響用戶體驗的。

針對於這三點來講,通過怎樣的優化方案可以使網路視頻直播系統更加符合用戶的直播需求呢?我們認為主要有以下三個方面。

1.服務端優化

在直播服器中,設置一個cache來存放GOP用於客戶端播放。直播伺服器緩存當前的GOP序列,當播放端請求相關數據時,CDN會從I幀返回到客戶端,從而保證客戶端能夠快速的獲取I幀進行顯示。由於緩存的是之前的視頻信息,所以當音頻數據到達播放端之後,為保證音視頻同步,播放器會對視頻進行快進處理。

2.視頻優化

如果只是想要優化網路視頻直播系統的首開延遲,那麼就可以藉助在視頻幀之間插入較多關鍵幀的方法。這樣一來,客戶端收到視頻流之後,就可以儘快的進行解碼。但是如果想要優化傳輸過程中的累計延遲,那麼就需要儘可能的避免使用關鍵幀,避免GOP變大。在保障同等視頻質量的情況下,i幀(關鍵幀)越大,碼率就越大,傳輸過程中所需的網路帶寬就會越高,從而導致累計延遲越大。雖然這個優化效果在秒級延遲的網路視頻直播系統中並不是十分明顯,但是在100ms甚至更低延遲的系統中會非常的明顯。需要注意的是,在開發過程中要盡量使用ACC-LC Codec編碼音頻,雖然HE-ACC和 HE-ACC 2 的編碼效率高,但是編碼所需的時間相對較長。

3.減少花屏

在直播過程中,偶爾會遇到花屏的現象。這種現象產生的原因是丟幀造成的。舉個例子,如果丟失了我們所說的關鍵幀,然後將p幀送去給ffmpeg解碼得到的圖像就會是花屏或者是馬賽克。而且,在此傳輸過程中並沒有用到b幀,整個傳輸過程中只有兩種:一種是i幀,也就是關鍵幀,另一種則是p幀。

以上只是對網路視頻直播系統的優化方案做出了簡單分析。而在實際的直播開發過程中,只有將經常出現的延遲、卡頓和首屏耗時作為提升用戶直播體驗的重點,制定相應的解決方案,才能開發出優質的視頻直播系統。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 千鋒JAVA開發學院 的精彩文章:

Try-catch-finally在JVM底層都幹了些啥?

TAG:千鋒JAVA開發學院 |