一.VBR與CBR的含義和區別
VBR是動態碼率。CBR是靜態碼率。
VBR(Variable Bitrate)動態比特率。也就是沒有固定的比特率,壓縮軟件在壓縮時根據音頻數據即時確定使用什么比特率,這是以質量為前提兼顧文件大小的方式。 VBR也稱為動態比特率編碼,使用這個方式時,你可以選擇從最差音質/最大壓縮比到最好音質/最低壓縮比之間的種種過渡級數,在MP3文件編碼之時,程序 會嘗試保持所選定的整個文件的品質,將選擇適合音樂文件的不同部分的比特率來編碼。主要優點是可以讓整首歌都能大致達到我們的品質要求,缺點是編碼時無法 估計壓縮出來的文件大小。
CBR(Constants Bit Rate)即固定碼率,就是靜態(恆定)比特率的意思,CBR是一種固定采樣率的壓縮方式。優點是壓縮快,能被大多數軟件和設備支持,缺點是占用空間相對大,效果不十分理想,現已逐步被VBR的方式取代。
固定碼率是一個用來形容通信服務質量(QoS,Quality of Service)的術語。和該詞相對應的詞是可變碼率或可變比特率(英文variable bit rate,縮寫VBR)。
當形容編解碼器的時候,CBR編碼指的是編碼器的輸出碼率(或者解碼器的輸 入碼率)應該是固定制(常數)。當在一個帶寬受限的信道中進行多媒體通訊的時候CBR是非常有用的,因為這時候受限的是最高碼率,CBR可以更好的易用這 樣的信道。但是CBR不適合進行存儲,因為CBR將導致沒有足夠的碼率對復雜的內容部分進行編碼(從而導致質量下降),同時在簡單的內容部分會浪費一些碼 率。
VBR(Variable Bitrate)動態比特率。也就是沒有固定的比特率,壓縮軟件在壓縮時根據音頻數據即時確定使用什么比特率,這是以質量為前提兼顧文件大小的方式。 VBR也稱為動態比特率編碼,使用這個方式時,你可以選擇從最差音質/最大壓縮比到最好音質/最低壓縮比之間的種種過渡級數,在MP3文件編碼之時,程序 會嘗試保持所選定的整個文件的品質,將選擇適合音樂文件的不同部分的比特率來編碼。主要優點是可以讓整首歌都能大致達到我們的品質要求,缺點是編碼時無法 估計壓縮出來的文件大小。
CBR(Constants Bit Rate)即固定碼率,就是靜態(恆定)比特率的意思,CBR是一種固定采樣率的壓縮方式。優點是壓縮快,能被大多數軟件和設備支持,缺點是占用空間相對大,效果不十分理想,現已逐步被VBR的方式取代。
固定碼率是一個用來形容通信服務質量(QoS,Quality of Service)的術語。和該詞相對應的詞是可變碼率或可變比特率(英文variable bit rate,縮寫VBR)。
當形容編解碼器的時候,CBR編碼指的是編碼器的輸出碼率(或者解碼器的輸 入碼率)應該是固定制(常數)。當在一個帶寬受限的信道中進行多媒體通訊的時候CBR是非常有用的,因為這時候受限的是最高碼率,CBR可以更好的易用這 樣的信道。但是CBR不適合進行存儲,因為CBR將導致沒有足夠的碼率對復雜的內容部分進行編碼(從而導致質量下降),同時在簡單的內容部分會浪費一些碼 率。
二.ffmpeg設置方法
ffmpeg中CBR(固定碼率控制)的設置:
c->bit_rate = br; c->rc_min_rate =br; c->rc_max_rate = br; c->bit_rate_tolerance = br; c->rc_buffer_size=br; c->rc_initial_buffer_occupancy = c->rc_buffer_size*3/4; c->rc_buffer_aggressivity= (float)1.0; c->rc_initial_cplx= 0.5;
ffmpeg中VBR(可變率控制)的設置:
c->flags |= CODEC_FLAG_QSCALE; c->rc_min_rate =min; c->rc_max_rate = max; c->bit_rate = br;
三.試用場景
VBR 適合的應用場景是媒體存儲,而不是網絡傳輸。
其實實際網絡傳輸中所謂的 CBR 一般都是 ABR(平均比特率),即只要是單位時間內把碼率控制在額定碼率就可以了,因為編碼輸出本來就有緩沖可以起到平滑波動的作用。
嚴格意義上的 CBR 是 每一幀都分配同樣的碼字,試想一下,如果某一幀所需要的碼字本來就很少,而你卻一定要給它分配很多碼字,那不是浪費么?另一方面,如果某一幀所需要的碼字 本來就多,而你卻給得很少,那這幀的效果會很差。這樣編下來,整體序列質量會忽好忽壞地不停發生跳變,反而對視覺沖擊很大;因此 ABR 才是最適合網絡傳輸的方案。
本文出處:http://blog.csdn.net/austinblog/article/details/28426587