什麼樣的視訊直播系統才能算得上優秀呢?因人而異,喜好不同,對于網絡視訊直播系統的評判标準也各不相同。但是相信大家對于網絡視訊直播系統性能的判定标準會是一緻的。即直播中的延遲、卡頓和首屏耗時,這三點是直接影響使用者體驗的。
針對于這三點來講,通過怎樣的優化方案可以使網絡視訊直播系統更加符合使用者的直播需求呢?我們認為主要有以下三個方面。
1.服務端優化在直播服器中,設定一個cache來存放GOP用于用戶端播放。直播伺服器緩存目前的GOP序列,當播放端請求相關資料時,CDN會從I幀傳回到用戶端,進而保證用戶端能夠快速的擷取I幀進行顯示。由于緩存的是之前的視訊資訊,是以當音頻資料到達播放端之後,為保證音視訊同步,播放器會對視訊進行快進處理。
2.視訊優化如果隻是想要優化網絡視訊直播系統的首開延遲,那麼就可以借助在視訊幀之間插入較多關鍵幀的方法。這樣一來,用戶端收到視訊流之後,就可以盡快的進行解碼。但是如果想要優化傳輸過程中的累計延遲,那麼就需要盡可能的避免使用關鍵幀,避免GOP變大。在保障同等視訊品質的情況下,i幀(關鍵幀)越大,碼率就越大,傳輸過程中所需的網絡帶寬就會越高,進而導緻累計延遲越大。雖然這個優化效果在秒級延遲的網絡視訊直播系統中并不是十分明顯,但是在100ms甚至更低延遲的系統中會非常的明顯。需要注意的是,在開發過程中要盡量使用ACC-LC
Codec編碼音頻,雖然HE-ACC和 HE-ACC 2 的編碼效率高,但是編碼所需的時間相對較長。

在直播過程中,偶爾會遇到花屏的現象。這種現象産生的原因是丢幀造成的。舉個例子,如果丢失了我們所說的關鍵幀,然後将p幀送去給ffmpeg解碼得到的圖像就會是花屏或者是馬賽克。而且,在此傳輸過程中并沒有用到b幀,整個傳輸過程中隻有兩種:一種是i幀,也就是關鍵幀,另一種則是p幀。
以上隻是對網絡視訊直播系統的優化方案做出了簡單分析。而在實際的直播開發過程中,隻有将經常出現的延遲、卡頓和首屏耗時作為提升使用者直播體驗的重點,制定相應的解決方案,才能開發出優質的視訊直播系統。
原文首發位址:https://blog.csdn.net/q3557873521/article/details/88635302