在直播推流中,由於網絡受限,會出現畫面模糊或者卡頓的情況,這些問題,往往與設置的參數有關。並不是數值越大越好,在不同的應用場景與不同的網絡環境中合理的調節參數,可以最大化的滿足直播的需求。Ucast 可通過手機APP或小程序對Ucast設備進行遠程操控,在直播過程中實時查詢設備狀態、設置各種參數。
想調好參數,自然要先了解參數的含義
解析度:
解析度就是一張圖片像素的大小,常見的有480、 720、1080等。解析度越大,畫面越清晰,一張圖像需要的內存也越大。
碼率:
kbps(kilobit per second)是一個衡量速度的單位,也可以寫為kb/s。視頻碼率的單位為kbps,千比特每秒。
在網絡推流時,碼率設置的數值越低,傳送內容越少,受網絡波動也越小,但畫質會下降。相對的碼率設置的數值越高,畫質越好,但對網絡的要求也就越高。網絡不穩定的情況下設置太高的碼率,容易造成卡頓。
幀率(FPS):
視頻畫面,是通過無數張圖片組成的,每張圖片是一幀,圖片的個數稱為幀數,每秒圖片的個數稱為幀率,俗稱 FPS(frame per second)。
幀率大小影響視頻的連貫性,幀率越大,視頻看起來越流暢,需要的存儲量越大,但是超過一個臨界點後,人眼就區分不出差異了。一般說的1080P30,1080P50等P後面就是幀率大小,表示每秒多少幀。對直播來講,幀率25幀就可以了。
碼率類型:
CBR:Constant BitRate的縮寫,意思是恆定(固定)比特率,指文件每秒鐘的碼率是固定不變的。CBR的特點是碼率平穩,固定碼流控制可以減少網絡抖動的影響,不大起大落,適合網絡直播。
VBR:Variable BitRate的縮寫,意思是可變比特率,指文件每秒鐘的碼率是可以變化的。VBR的特點是碼率波動起伏較大,但總體省空間,主要用來存儲。網絡條件非常好的情況下也是可以用的。
編碼Profile:
從高到低分別為:High、Main、Baseline
High:級別在Main的基礎上增加了8x8 內部預測、自定義量化、無損視頻編碼和更多的YUV 格式(如4:4:4),用於廣播及視頻碟片存儲(藍光影片),高畫質電視的應用。
Main:級別提供I/P/B 幀,支持無交錯(Progressive)和交錯(Interlaced),同樣提供對於CAVLC 和CABAC 的支持,用於主流消費類電子產品規格,如視頻直播編碼器、便攜視頻播放器、PSP和Ipod等。
Baseline:級別支持I/P 幀,只支持無交錯(Progressive)和CAVLC,一般用於低階或需要額外容錯的應用,比如視頻通話、手機視頻等。
關鍵幀間隔:
關鍵幀間隔是對視頻壓縮算法來講的,視頻每秒由幾十甚至上百張圖片組成,形成連續的畫面,但是在短時間內大部分圖片其實是相似的,壓縮的原理就是只保留前後幀之間的不同信息(B幀除外),第一張因為沒有參考對象,需要完全保留信息,也就是I幀,I幀信息量相對比較大,可以理解成JPG圖片,後面的圖片可以參考I幀只保留不同信息,也就是P幀,這樣就達到視頻壓縮的目的。一個I幀後面可以帶多個P幀,每個P幀需要參考前一個圖片才能還原。
GOP值就是I幀出現的頻率,太小的話I幀出現次數多,對碼率控制壓力大,GOP太大後面的P幀就會模糊,如果網絡傳輸中P幀丟失部分數據,就會導致後面的畫面數據出錯,需等到下一個I幀才能正常。Ucast APP GOP值是以秒為單位的,建議設置3秒。當然,也可以根據網絡情況自行設置。
參數大致的意思,應該都了解了吧。打開Ucast APP或小程序,點擊「更多設置」>「直播流設置」,即可對設備進行設置。由於應用場景、網絡環境等各種因素,我們無法給出一個標準的參數來對所有的情況進行設置。
完