決定視訊檔案佔用空間大小的因素(編碼格式,位元率)

zhangxueyi發表於2014-11-27

編位元速率/位元率直接與檔案體積有關。且編位元速率與編碼格式配合是否合適,直接關係到視訊檔案是否清晰。

在 視訊編碼領域,位元率常翻譯為編位元速率,單位是Kbps,例如800Kbps 其中,    1K=1024    1M=1024K        b 為 位元(bit)     這個就是電腦檔案大小的計量單位,1KB=8Kb,區分大小寫,B代表位元組(Byte) s 為 秒(second)p 為 每(per),    以800kbps來編碼表示經過編碼後的資料每秒鐘需要用800K位元來表示。1MB=8Mb=1024KB=8192KbWindows系統檔案大小經常用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。與檔案體積大小有關的位元速率是指的平均位元速率,因此,不論是使用固定位元一次編碼方式還是使用二次(多次)動態編碼方式,都是可以保證檔案大小的。只有使用基於質量編碼的方式的時候,檔案大小才不可控制。編 碼格式有很多種,在技術不斷進步的情況下,針對不同的用途,產生了各種編碼格式。不同編碼格式的壓縮率不一樣,且有各自的特點,有些在低位元速率情況下能保持 較高的畫面質量,但在高位元速率情況下反而畫面質量提示不大,有些適合在高位元速率情況下保持高清晰度畫面,但可能在低位元速率情況下效果不佳。介紹常見的幾種。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在超低位元速率情況效果不佳,且過分提高位元速率, 畫面效果帶來的提示也不明顯。AVI檔案常用的視訊編碼為Xvid和Divx,但 Divx是一種收費的編碼格式,開發之初利用了開源社群的力量,但後封閉起來成為一種收費的編碼格式,違反了開源社群的遊戲規則,因此與開源社群有過節。 Xvid則是在Divx脫離開源社群以後,由開源社群在Divx技術積累的基礎上獨立研發的新的符合MPEG4規範的編碼格式,編碼效果很好,對硬體要求 也不高,同時由於Xvid的免費與開放性,Xvid獲得了眾多硬體廠家的支援,所以現在很多DVD碟機和MP4等硬體裝置都可以直接播放Xvid編碼的 AVI檔案。可以說,能支援Divx的裝置一般都支援Xvid。同時Xvid編碼也是DVD Rip的標準編碼方式之一,因此很多高清視訊檔案也用Xvid進行視訊編碼。由於大量的DVD碟機和MP4提供了良好的硬體支援,Xvid編碼已經成為事 實上最常用的編碼格式之一。作為開源社群陣營的MediaCoder軟體對Xvid編碼支援很好,由於歷史淵源,不支援Divx編碼也不奇怪。Xvid編 碼的特點是在低位元速率的情況下,效果不輸於RMVB,同時對於硬體運算能力的要求低於RMVB,高位元速率的情況下能達到很不錯的清晰度,效果遠遠高於 RMVB。同時Xvid對於動畫視訊還做了特殊優化。H264編碼也是一種符合 MPEG4規範的編碼格式。應該算目前能用上的最先進的編碼方式了,特點是在低位元速率的情況下,依然能獲得很好的畫面視覺效果。因此在320×240解析度 的情況下,要保持較高的清晰度,Xvid一般常用320-350Kbps位元速率,但H264只需要200多Kbps位元速率就能達到同樣的畫面效果。同 時,H264的高壓縮率,也能滿足高清領域壓縮的需求。隨著畫面解析度的變大,為了保持清晰度,需要的編位元速率會以比解析度更快的速度增加,導致檔案體積快 速增加,特別是達到1080P級別的時候,一個影片的體積為幾G乃至幾十G,此時H264的高壓縮率特點特別適合製作高清視訊,H264的壓縮率比 MPEG2高出好幾倍。一個使用MPEG2編碼製作的高清檔案可能會達到30G甚至更多,但使用H264編碼製作的話,可能只需要4-5G就足夠了。但 是,H264的這種高壓縮率帶來的副作用就是最硬體運算能力要求比較高,用H264編碼速度較慢,且使用H264編碼的高清視訊很多單核電腦放不了,好在 現在雙核電腦的流行基本解決了這個問題,在行動式裝置上,由於多數廠家設計能力所限,普遍CPU運算能力都低,H264也就無法支援,因為在行動式裝置 上,一旦CPU速度超過400M Hz或者達到更高的速度的時候,不但對CPU設計、製作提出了高要求,而且對於電路設計也提出了新的要求,在低速CPU主機板設計時可以忽略不計的射頻干擾 等問題,但如果要達到更高的速度,就必須解決,很多廠家的設計能力都不足以解決這方面的問題,因此,市面上的MP4裝置多可以支援Xvid編碼,但無法支 持H264編碼。微軟自己的ASF/WMV檔案有專用的編碼方式,也有幾代不同的編 碼,新一代的編碼壓縮率更高,效果更好。ASF檔案其實與WMV檔案是一回事,只是字尾不一樣罷了,可以手動修改更換字尾,沒關係的。但由於微軟的這種格 式可以附帶播放許可權控制,加入了檔案許可權控制的ASF/WMV檔案,只能通過電腦播放,其他裝置如標稱支援ASF格式的MP4播放器等都無法播放,且在電 腦上播放時,必須連結進授權者的網站,很多居心不良的網站就乘機在授權網頁上掛木馬。RMVB檔案可以彈出網頁木馬,但RMVB的彈出頁面是設定在 RMVB檔案裡面的,你可以用軟體或者手工去除這種彈出設定,或者不聯網看RMVB檔案也可以,不連結到指定網頁並不會影響到正常播放。但ASF/WMV 的危害更加嚴重,如果需要播放有授許可權制的ASF/WMV檔案,必須連結進指定網頁獲得授權,否則不能播放。因此,假設授權頁面暗藏木馬,除非你不看這個 ASF/WMV檔案,否則開始獲取播放授權就必中網頁木馬。由於ASF/WMV檔案內部也有幾代不同的編碼器,即使在標準支援ASF的裝置上,也可能遇到 不能播放的ASF/WMA檔案。因為可能不支援某種編碼器或者編碼組合,這個情況與AVI相似,其他封裝格式也都有這類問題。而且ASF/WMV所用的編 碼器,論壓縮率比不上H264,論相容性和開放性比不上Xvid,因此,不是必須情況,一般不建議轉換ASF/WMV檔案。隨 著FLV和3GP檔案的流行,H263格式在日常使用中也經常用到。H263壓縮率其實並不高,但對硬體要求比較低,因此被手機等平臺選擇為主要支援的視 頻編碼之一。FLASH從FLASH8開始,就支援H263編碼的FLV檔案。現在很多視訊共享網站的FLV檔案視訊部分用的就是H263編碼。但由於 H263壓縮率並不高,因此視訊網站的約20分鐘FLV視訊檔案體積大小約為40M左右,但並不清晰,激烈動作畫面則更加模糊。很多非智慧手機本身螢幕就 不大,解析度很低,也談不上什麼清晰度,用H263也無所謂。FLASH完全就是為了適應網路傳播而設計的,幀率極低,預設只有12幀,一般的FALSH 動畫檔案用的是向量技術,可以隨意放大縮小而不失真,但FLASH的FLV檔案是基於點陣圖技術的,且第一代FLV檔案標準就支援H263編碼,FLV為了 更快的進行網路傳播,可以說將RMVB/RM格式的設計理念發揮到極致,一切為了縮小檔案體積,視覺效果能看就行。因此,儘管FLV檔案可以支援更高的編 位元速率和幀率,新的FLASH播放器也能支援新的編碼格式,但在我們常見的視訊共享網站中,為了相容性和儘可能的縮小檔案體積,其FLV檔案解析度多為 320×240,幀率為12幀/秒,視訊編碼格式為本就壓縮率並不高的H263,編位元速率不足300Kbps,音訊編碼方面也是儘可能的能省就省。儘管壓縮 引數低,但網站播放介面的解析度一般為400×300,本就已經很低的解析度還被強行放大,這就是為什麼大家總是覺得視訊共享網站的視訊有種模糊感覺的原 因,且有時候還會覺得畫面不流暢,這些網站的提供的視訊節目,其聲音效果也很爛,基本屬於剛剛能聽的範圍。音 頻編碼方面,對於視訊檔案來說,除了RMVB自己封閉的編碼標準,最常見的就是MP3和AAC。微軟格式的ASF/WMV視訊檔案數量少,其配套的音訊格 式就是常見的WMA格式。但實際情況,WMA格式多是單純的作為一種音訊壓縮格式存在,在非ASF/WMV型別的視訊檔案中,一般不使用WMA格式。就目 前的技術水平來說,音訊編碼對硬體的要求可以忽略不計。在有損音訊編碼領域,音訊編碼若追求通用性,首選自然是MP3格式,若追求壓縮率和壓縮質量,首選 自然是AAC,WMA由於高不成低不就,且是微軟的專利編碼格式,在視訊檔案製作中使用並不廣泛。在無失真壓縮領域使用的格式主要有WAV、APE、 FLAC幾種,理論上這些編碼格式也可以用在視訊檔案製作中,但基本沒人用,因為會導致檔案體積過大。幀 率:要了解幀率就必須瞭解視訊播放的一個基本原理。人眼具有視覺延遲的特點,立即拿開眼睛前的一副影象,大腦中卻不是立即反應出來的,大約在0.1秒以 後,才會反應畫面已經拿開。因此,如果給人眼觀看一幅幅連續的畫面,且速度超過每秒10幅以上的時候,在人腦中就會產生畫面連續的感覺,從而感覺自己看到 的不是一幅幅獨立的圖片,而是一個連續的視訊。幀率就是視訊檔案每秒展示在人眼的畫面的數量。24幀/秒的意思就是此視訊畫面每秒變化24次。因為電影的 幀率是24幀/秒,所以一般認為,只要視訊檔案的幀率達到或超過24幀/秒,就可以理解為畫面流暢。幀率太低,則必然導致視覺上感覺畫面不流暢,如常見共 享網站提供的FLV檔案,就經常會感覺畫面不流暢,因為幀率只有12幀/秒。對於非智慧手機等裝置,因為硬體運算能力不高,支援的幀率一般也不高,很多手 機都只有15幀/秒播放能力,部分手機能力甚至更低,因此手機視訊檔案普遍不很流暢。當幀率達到30幀/秒的時候,即使非常激烈的畫面變化,人眼也能感受 到很流暢。人眼能感知的最高速度是60幀/秒,因此魔獸爭霸等遊戲強制設定了遊戲最高幀率為幀/秒。根據幀率的定義,我們能夠了解到,當解析度一定的時 候,假設保持同樣的清晰度,幀率越高,畫面越流暢,需要的編位元速率也越高,檔案體積也就相應變大。現 在我們已經能瞭解解析度、清晰度、編位元速率、編碼格式、檔案體積大小、幀率之間的關係了。解析度越大,清晰度越高,畫面越流暢,幀率越高,編位元速率越高,檔案 體積越大,但越先進的編碼標準,可以用更小的編位元速率實現同樣的效果,從而減小檔案的體積。一般來說,越先進的編碼標準對硬體的運算能力要求越高。根據具體使用的環境和片源的情況,確定合適的解析度。在保持一定畫面清晰度和聲音質量的前提下,確定需要的編碼格式,再根據設定的幀率、編碼格式的壓縮率特點,確定合適的編位元速率。基本常見的設定過程就是這麼一個設定思路了。轉 換視訊檔案的時候,一般要遵循以下的原則,解析度可以降低,但不能增加,例如可以將640×480的檔案轉換為320×240的檔案,但不必將 320×240的檔案轉換為640×480。因為320×240轉換為640×480並不會帶來清晰度的提高,只會增加編位元速率,使檔案體積變大。同樣的道 理,幀率可以降低,但不能增加,人為將12幀的FLV檔案轉換為25幀的AVI檔案,並不會使你的畫面變得更流暢。這種轉換隻是一種純粹的浪費。編位元速率與 編碼格式聯絡在一起,由於編碼格式有些技術先進些,可用較低編位元速率實現較高的畫面質量。因此如果轉換時更改了編碼格式,則應該根據實際情況確定編位元速率。更 多的時候是根據使用經驗確定。在實際使用中,如果希望把視訊網站提供的FLV檔案轉換為VCD或者DVD,是不實際的,並不會因為你轉換了格式,就畫面變得更加清楚、流暢,且這種強行轉換可能會帶來其他的問題,因為MPEG1、MPEG2編碼設計的時候並未考慮到這種極低幀率和極低畫面質量的情況。

相關文章