[ffmpeg]視頻幀率、視頻碼流與視頻分辨率相關知識

一、幀率、碼流與分辨率

  幀率概念

  一幀就是一副靜止的畫面,連續的幀就形成動畫,如電視圖象等。我們通常說幀數,簡單地說,就是在1秒鐘時間裏傳輸的圖片的數,也可以理解爲圖形 處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)表示。每一幀都是靜止的圖象,快速連續地顯示幀便形成了運動的假象。高的幀率可以得到更流暢、更逼真的動畫。每秒鐘幀數 (fps) 愈多,所顯示的動作就會愈流暢。

  碼流概念碼流(Data Rate),是指視頻文件在單位時間內使用的數據流量,也叫碼率,是他是視頻編碼中畫面質量控制中最重要的部分。同樣分辨率下,視頻文件的碼流越大,壓縮比就越小,畫面質量就越高。

  分辨率概念視頻分辨率是指視頻成像產品所成圖像的大小或尺寸。常見的視像分辨率有352×288,176×144,640×480,1024×768。在成像的兩組數字中,前者爲圖片長度,後者爲圖片的寬度,兩者相乘得出的是圖片的像素,長寬比一般爲4:3。


二、用碼流和時間計算流媒體文件大小

    編碼率/比特率直接與文件體積有關。且編碼率與編碼格式配合是否合適,直接關係到視頻文件是否清晰。 
在視頻編碼領域,比特率常翻譯爲編碼率,單位是Kbps,例如800Kbps 
其中, 1K=1024 1M=1024K 
b 爲 比特(bit) 這個就是電腦文件大小的計量單位,1KB=8Kb,區分大小寫,B代表字節(Byte) 
s 爲 秒(second) 
p 爲 每(per) 
以800kbps來編碼表示經過編碼後的數據每秒鐘需要用800K比特來表示。

 
1MB=8Mb=1024KB=8192Kb


    Windows系統文件大小經常用B(字節)爲單位表示,但網絡運營商則用b(比特),也就是爲什麼512K速度寬帶在電腦上顯示速度最快只有約64K的原因,網絡運營商宣傳網速的時候省略了計量單位。 
    完整的視頻文件是由音頻流與視頻流2個部分組成的,音頻和視頻分別使用的是不同的編碼率,因此一個視頻文件的最終技術大小的編碼率是音頻編碼率+視頻編碼 率。例如一個音頻編碼率爲128Kbps,視頻編碼率爲800Kbps的文件,其總編碼率爲928Kbps,意思是經過編碼後的數據每秒鐘需要用928K 比特來表示。 
    瞭解了編碼率的含義以後,根據視頻播放時間長度,就不難了解和計算出最終文件的大小。編碼率也高,視頻播放時間越長,文件體積就越大。不是分辨率越大文件 就越大,只是一般情況下,爲了保證清晰度,較高的分辨率需要較高的編碼率配合,所以使人產生分辨率越大的視頻文件體積越大的感覺。

 
計算輸出文件大小公式: 
(音頻編碼率(KBit爲單位)/8 + 視頻編碼率(KBit爲單位)/8)× 影片總長度(秒爲單位)= 文件大小(MB爲單位)


這樣以後大家就能精確的控制輸出文件大小了。 
例:有一個1.5小時(5400秒)的影片,希望轉換後文件大小剛好爲700M 
計算方法如下: 
700×8÷5400×1024≈1061Kbps 
意思是隻要音頻編碼率加上視頻編碼率之和爲1061Kb,則1個半小時的影片轉換後文件體積大小剛好爲700M。


至於音頻編碼率和視頻編碼率具體如何設置,就看選擇的編碼格式和個人喜好了,只要2者之和爲1061即可。如可以設置爲視頻編碼格式H264,視頻編碼率900 Kbps,音頻編碼格式AAC,編碼率161 Kbps。 
與文件體積大小有關的碼率是指的平均碼率,因此,不論是使用固定比特一次編碼方式還是使用二次(多次)動態編碼方式,都是可以保證文件大小的。只有使用基於質量編碼的方式的時候,文件大小纔不可控制。

編碼格式有很多種,在技術不斷進步的情況下,針對不同的用途,產生了各種編碼格式。不同編碼格式的壓縮率不一樣,且有各自的特點,有些在低碼率情況 下能保持較高的畫面質量,但在高碼率情況下反而畫面質量提示不大,有些適合在高碼率情況下保持高清晰度畫面,但可能在低碼率情況下效果不佳。介紹常見的幾 種。


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