音視頻檔案碼率與大小計算
轉自:http://blog.163.com/simon_px/blog/static/377070772008111371722438/
編碼率/位元速率直接與檔案體積有關。且編碼率與編碼格式配合是否合適,直接關係到視頻檔案是否清晰。
在視頻編碼領域,位元速率常翻譯為編碼率,單位是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(位元),也就是為什麼2Mb速度寬頻在電腦上顯示速度最快只有約256KB的原因,網路電訊廠商宣傳網速的時候省略了計量單位。
完整的視頻檔案是由音頻流與視頻流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。
與檔案體積大小有關的碼率是指的平均碼率,因此,不論是使用固定位元一次編碼方式還是使用二次(多次)動態編碼方式,都是可以保證檔案大小的。只有使用基於品質編碼的方式的時候,檔案大小才不可控制。
編碼格式有很多種,在技術不斷進步的情況下,針對不同的用途,產生了各種編碼格式。不同編碼格式的壓縮率不一樣,且有各自的特點,有些在低碼率情 況下能保持較高的畫面品質,但在高碼率情況下反而畫面品質提示不大,有些適合在高碼率情況下保持高清晰度畫面,但可能在低碼率情況下效果不佳。介紹常見的 幾種。
RMVB/RM在制定的時候主要考慮的是網路傳播,目的在於利用不快的網速傳播視覺可以接受的畫面品質。因此,RMVB/RM編碼格式的特點是較 低碼率下能獲得較好的視頻品質。但高碼率的情況下反不如其他編碼格式。同樣是RM/RMVB尾碼的檔案,其內部編碼格式細分還有R8/R9/R10等,但 總的來說,上面所說的特點依然是存在的。只是壓縮率更高了,因此RMVB沒人用在高清編碼領域。RMVB追求的是高壓縮率,能接受的畫面品質,所以經常壓
縮掉一些不容易注意的細節。初看畫面不錯,細看就發現畫面不銳利,層次不分明,總給人一直模糊的感覺。RMVB/RM尾碼檔案的音頻編碼部分同樣存在這樣 的情況,聲音壓縮率很高,但只是能聽,不要奢望達到聲音動聽的境界。
RMVB的流行,一是因為REAL的這種格式適合低速網路的傳播,能以較小的檔案體積獲得可以接受的畫面品質。二是隨著RMVB的使用,開始出 現功能比較完善的轉碼軟體和解決方案,方便了視頻愛好者,擴大了影片來源。但隨著網速越來越快,H264等更好的編碼器出現,同時也因為RMVB不適合高 清視頻製作,且若對於其他硬體廠家希望支援RMVB/RM格式,就必須向REAL公司支付相當昂貴的專利費,導致很多硬體廠商放棄了對RMVB檔案的支
持。RMVB的檔案已經不是以前那種完全壓倒性的優勢了。
現在網路傳播的視頻檔案已經很多都是AVI、MKV、MP4、3GP等尾碼了。其中MKV等多用於高清視頻檔案,MP4、3GP等多用於手機和攜帶型裝置等領域,AVI則使用範圍更加廣,不但在高清晰度視頻檔案中有AVI檔案,在攜帶型裝置領域也有AVI使用。
VCD用的視頻編碼格式為MPEG1,DVD則為MPEG2,VCD和DVD都主要用於家庭影音播放,而且一般來說,VCD用MPEG1編碼為固定碼率編碼。DVD可以支援動態碼率的MPEG2編碼。
為了能保證激烈變化畫面時的清晰度,其預設編碼率都較高,VCD標準編碼率1152Kbps,DVD開放些,根據影片播放時間,常設定為5000 Kbps -8000 Kbps之間,在不浪費DVD碟容量的前提下儘可能的使用較高的碼率獲得更高的清晰度。MPEG1和MPEG2在超低碼率情況效果不佳,且過分提高碼率,
畫面效果帶來的提示也不明顯。而MKV則以H.264編碼,用於高清視頻,1080p的畫面達到了30Mbps的碼率。
當然不經過壓縮檔的計算公式又不同:
聲音為,資料量(位/秒)= (採樣頻率(Hz)*採樣位元(bit)*聲道數)
其中,單聲道的聲道數為1,立體聲的聲道數為2。
資料量*時間/8=檔案總位元組
例如CD即為未經壓縮的音頻檔案,採樣44.1k,16位,雙聲道。
資料量=44.1*16*2=1411kb/1024=1.38Mb,一般的MP3壓縮後為128kbps
如果以一張CD放一個小時計算的話,CD總量=1.38*3600/8=621MB,當然CD大約放1小時多點,頂多也就700MB。
圖象應該是,資料量(位/秒)= (畫面尺寸*彩色位元(bit)*幀數)
資料量*時間/8=檔案總位元組
例如2分鐘,25幀/秒,640×480解析度,24位真彩色數位視訊的不壓縮的資料量約為,資料量=640x480x24*25=184320Kb=180Mb,而VCD、MKV標準編碼率(加上音頻)分別為1152Kbps和30Mbps(1080p高清)
2分鐘檔案位元組=180Mbx120/8=2700000KB=2636.71875MB=2.57GB,而壓縮後一部90分鐘高品質DVD電影可以達到9GB