我以前在不少文章中分享過咱們流媒體服務器如何優化直播體驗,詳細講解了各部分形成低延遲和卡頓的緣由和相應的優化原理。實際上,音視頻的直播系統是一個複雜的工程系統,要作到很是低延遲的直播,須要複雜的系統工程優化和對各組件很是熟悉的掌握。這裏面咱們再分享幾個簡單而經常使用的調優技巧,你們要是遇到相似的問題能夠先對照解決。緩存
一、編碼器通常都會有碼控形成的延遲,通常也叫作初始化延遲或者視頻緩存檢驗器 VBV 的緩存大小,把它當成編碼器和解碼器比特流之間的緩存,在不影響視頻質量的狀況下能夠將其設置得儘量小也能夠下降延遲。服務器
二、確保 Codec 開啓了最低延遲的設置。Codec 通常都會有低延遲優化的開關,對於 H.264 來講其效果尤爲明顯。若是你的視頻不是使用 H.264 來編碼壓縮的,確保沒有使用到 B 幀,它對延遲也會有較大的影響,由於視頻中 B 幀的解碼依賴於先後的視頻幀,會增長延遲。優化
三、不要使用視頻 MJPEG 的視頻壓縮格式,至少使用不帶 B 幀的 MPEG4 視頻壓縮格式(Simple profile),甚至最好使用 H.264 baseline profile(X264 還有一個「-tune zerolatency」的優化開關)。這樣一個簡單的優化能夠下降延遲,由於它可以以更低的碼率編碼全幀率視頻。編碼
以咱們現有的科技水平,延遲的狀況是不可避免的,咱們流媒體服務器也在盡力解決這個問題,目前以上的兩種延遲優化方法均可以在咱們流媒體服務器上嘗試解決。spa