直播視頻卡頓延遲時如何優化

試想一下,當你和朋友進行視頻時,這時突然畫面卡住不動了,而且聲音變得斷斷續續,是不是會感到特別的尷尬?爲了避免這些情況,那麼在直播app開發過程中,針對於延遲,在技術上能對哪些方面進行優化呢?下面拓幻科技就來簡單介紹下。

一、編碼優化
首先,確保Codec開啓了最低延遲的設置。Codec一般都會有低延遲優化的開關,對於H.264來說其效果尤其明顯。另外,編碼器一般都會有碼控造成的延遲,把它當成編碼器和解碼器比特流之間的緩存,在不影響視頻質量的情況下,將其設置得儘可能小也可以降低延遲。還有,最好不要使用視頻MJPEG的視頻壓縮格式,至少使用不帶B幀的MPEG4視頻壓縮格式,最好使用H.264baseline profile這樣一個簡單的優化。這樣一個簡單的優化可以降低延遲,因爲它能夠以更低的碼率編碼全幀率視頻。

二、傳輸協議優化
在服務端節點和節點之間儘量使用RTMP而非HLS協議進行傳輸,這樣可以降低整體的傳輸延遲。如果終端用戶使用RTMP來播放,儘量在靠近推流端的收流節點進行轉碼,這樣傳輸的視頻流要比原始視頻流更小。此外,如果有必要,可以使用定製的 UDP 協議來替換 TCP 協議,省去弱網環節下的丟包重傳可以降低延遲。
三、傳輸網絡優化
在服務器節點中緩存當前GOP,配合播放端優化視頻首開時間。還可以讓服務端實時記錄每個視頻流流向每個環節時的秒級幀率和碼率,用於實時監控碼率和幀率的波動,然後針對此情況進行調節即可。
四、推流、播放優化
播放端緩存控制對於視頻的首開延遲也有較大影響,如果僅優化首開延遲,可以在0緩存情況下在數據到達的時候立即解碼。但如果在弱網環境下爲了消除網絡抖動造成的影響,設置一定的緩存也有必要,因此需要在直播的穩定性和首開延遲優化上找到平衡,調整優化緩衝區大小這個值。除了動態調整 buffer大小的策略之外,也可以利用實時監測的網絡信息來動態調整播放過程中的碼率,在網絡帶寬不足的情況下降低碼率進行播放,減少延遲。
以上就是在直播app開發中,針對延遲方面,在技術層面所能做的優化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章