視頻流媒體服務器中怎麼下降直播出現的延遲現象?

我以前在不少文章中分享過咱們流媒體服務器如何優化直播體驗,詳細講解了各部分形成低延遲和卡頓的緣由和相應的優化原理。實際上,音視頻的直播系統是一個複雜的工程系統,要作到很是低延遲的直播,須要複雜的系統工程優化和對各組件很是熟悉的掌握。這裏面咱們再分享幾個簡單而經常使用的調優技巧,你們要是遇到相似的問題能夠先對照解決。緩存

EasyNVRAI智能雲終端分析.png

編碼優化

一、編碼器通常都會有碼控形成的延遲,通常也叫作初始化延遲或者視頻緩存檢驗器 VBV 的緩存大小,把它當成編碼器和解碼器比特流之間的緩存,在不影響視頻質量的狀況下能夠將其設置得儘量小也能夠下降延遲。服務器

二、確保 Codec 開啓了最低延遲的設置。Codec 通常都會有低延遲優化的開關,對於 H.264 來講其效果尤爲明顯。若是你的視頻不是使用 H.264 來編碼壓縮的,確保沒有使用到 B 幀,它對延遲也會有較大的影響,由於視頻中 B 幀的解碼依賴於先後的視頻幀,會增長延遲。優化

三、不要使用視頻 MJPEG 的視頻壓縮格式,至少使用不帶 B 幀的 MPEG4 視頻壓縮格式(Simple profile),甚至最好使用 H.264 baseline profile(X264 還有一個「-tune zerolatency」的優化開關)。這樣一個簡單的優化能夠下降延遲,由於它可以以更低的碼率編碼全幀率視頻。編碼

傳輸協議優化

  1. 在服務端節點和節點之間儘可能使用 RTMP 而非基於 HTTP 的 HLS 協議進行傳輸,這樣能夠下降總體的傳輸延遲。這個主要針對終端用戶使用 HLS 進行播放的狀況。
  2. 若是終端用戶使用 RTMP 來播放,儘可能在靠近推流端的收流節點進行轉碼,這樣傳輸的視頻流比原始視頻流更小。
  3. 若是有必要,可使用定製的 UDP 協議來替換 TCP 協議,省去弱網環節下的丟包重傳能夠下降延遲。它的主要缺點在於,基於 UDP 協議進行定製的協議視頻流的傳輸和分發不夠通用,CDN 廠商支持的是標準的傳輸協議。

以咱們現有的科技水平,延遲的狀況是不可避免的,咱們流媒體服務器也在盡力解決這個問題,目前以上的兩種延遲優化方法均可以在咱們流媒體服務器上嘗試解決。spa

NVR10.png

相關文章
相關標籤/搜索