1. 程式人生 > >視訊質量和大小-解析度200*200、位元速率kb/s、幀率FPS,頻寬 / 碼流 / 人數

視訊質量和大小-解析度200*200、位元速率kb/s、幀率FPS,頻寬 / 碼流 / 人數

  幾個對視訊的質量和大小影響最大的引數:幀率、位元速率和解析度。
public static final int DEFAULT_VIDEO_WIDTH = 640;
public static final int DEFAULT_VIDEO_HEIGHT = 360; //解析度
public static final int DEFAULT_VIDEO_BITRATE = 600 * 1024; // 位元速率預設是600 * 1024 位元速率600 ;720 * 1280
public static final int DEFAULT_VIDEO_FPS = 20;// 幀速率 fps
public static final int DEFAULT_VIDEO_GOP = 2;//(gop 關鍵幀間隔)

-- 常見編碼模式(VBR/ABR/CBR),位元速率控制:
 1.VBR(Variable Bitrate)動態位元率 也就是沒有固定的位元率,壓縮軟體在壓縮時根據音訊資料即時確定使用什麼位元率,這是以質量為前提兼顧檔案大小的方式,推薦編碼模式
 2.ABR(Average Bitrate)平均位元率 是VBR的一種插值引數。LAME針對CBR不佳的檔案體積比和VBR生成檔案大小不定的特點獨創了這種編碼模式。ABR在指定的檔案大小內,以每50幀(30幀約1秒)為一段,低頻和不敏感頻率使用相對低的流量,高頻和大動態表現時使用高流量,可以做為VBR和CBR的一種折衷選擇。
 3.CBR(Constant Bitrate),常數位元率 指檔案從頭到尾都是一種位速率。相對於VBR和ABR來講,它壓縮出來的檔案體積很大,而且音質相對於VBR和ABR不會有明顯的提高。

  GOP說白了就是兩個I幀之間的間隔.比較說GOP為120,如果是720p 60的話,那就是2s一次I幀.gop一般設定為幀率的2倍。

> 視訊解析度
  視訊解析度是各類顯示器螢幕比例的常用設定,常見的螢幕比例其實只有三種:4:3、16:9和16:10,再加上一個特殊的5:4 18:9。我們常說的視訊多少乘多少,嚴格來說不是解析度,而是視訊的寬和高畫素值。
 習慣上我們說的解析度是指影象的高/寬畫素值,嚴格意義上的解析度是指單位長度內的有效畫素值ppi。差別就在這裡。影象的高/寬畫素值的確和尺寸無關,但單位長度內的有效畫素值ppi(每英寸畫素Pixel per inch)和尺寸就有關了,顯然尺寸越大ppi越小。
  CIF是常用的標準化影象格式(Common Intermediate Format),在H.323協議簇中,規定了視訊採集裝置的標準採集解析度,CIF = 352×288畫素;
  QCIF全稱Quarter common intermediate format,QCIF也是常用的標準化影象格式,在H.323中,規定QCIF = 176×144畫素。
  sub-QCIF 128×96 64 48;
  QCIF 176×144 88 72;
  CIF 352×288 176 144;
  4CIF 704×576 352 288(即我們經常說的D1);
  16CIF 1408×1152 704 576

-- 監控行業
  目前監控行業中主要使用Qcif(176×144)、CIF(352×288)、HALF D1(704×288)、D1(704×576)等幾種解析度。
  做閉路電視監控系統這一行久了,大家都以為D1是硬碟錄影機顯示、錄影、回放的解析度,實際上不是的,D1是數字電視系統顯示格式的標準,共分為以下5種規格:
  D1:480i格式(525i):720×480(水平480線,隔行掃描),和NTSC模擬電視清晰度相同,行頻為15.25kHz,相當於我們所說的4CIF(720×576)
  D2:480P格式(525p):720×480(水平480線,逐行掃描),較D1隔行掃描要清晰不少,和逐行掃描DVD規格相同,行頻為31.5kHz
  D3:1080i格式(1125i):1920×1080(水平1080線,隔行掃描),高清方式採用最多的一種解析度,解析度為1920×1080i/60Hz,行頻為33.75kHz
  D4:720p格式(750p):1280×720(水平720線,逐行掃描),雖然解析度較D3要低,但是因為逐行掃描,市面上更多人感覺相對於1080I(實際逐次540線)視覺效果更加清晰。不過個人感覺來說,在最大解析度達到1920×1080的情況下,D3要比D4感覺更加清晰,尤其是文字表現力上,解析度為1280×720p/60Hz,行頻為45kHz
  D5:1080p格式(1125p),1920×1080(水平1080線,逐行掃描),目前民用高清視訊的最高標準,解析度為1920×1080P/60Hz,行頻為67.5KHZ。
  其中D1 和D2標準是我們一般模擬電視的最高標準,並不能稱的上高清晰,D3的1080i標準是高清晰電視的基本標準,它可以相容720p格式,而D5的1080P只是專業上的標準。
 你選擇視訊是1280X720的,那麼圖片的畫素比不應該低於1280X720

-- 廣播電視級別:一般來說,標清是480p,720p是高清,1080p是全高清(超清)。
 標清=Standard Definition=SD,480p
 NTSC制式標清:縱向480線=480i/p (640x480, 704x480, 720x480, 848x480等)
 PAL制式標清:縱向576線=576i/p (720x576, 768x576, 1024x576等)
 高清 = High Definition=HD=縱向720線=720p (960x720,1280x720),解析度為1280×720p/60Hz,行頻為45kHz 。
 全高清 = Full High Definition=FHD=縱向1080線=1080i/p(1440x1080,1920x1080)

-- 院線電影級別:以橫向畫素為準(與廣播電視級別以縱向畫素數不同。)
 2K=2048x1080;
 4K=4096x2160;
 8K=8192x4320;

-- 電影分享網站/小組約定俗成標準:
  高清=1280x720或者1920x1080。可用720p或者1080p代表。由於電影本身可能比16:9比例更寬,故就算縱向不達720畫素,只要橫向達1280畫素,通常仍被稱為720p。所以形似1280x544這樣的解析度,也被算作720p。

-- YouTube標準:
 144p, 288p, 360p, 480p, 720p(HD), 1080p(HD), 1440p(HD), 2160p(4K), 4320p(8K)

-- X酷標準:
 標清=448x336,512x288 (遠不足480p)
 高清=576x432,672x378 (前者不足480p標準)
 超清=1104x622 (遠不足720p,也不足iPhone5的1136x640)
 1080p=1920x1080 (足了……僅僅是解析度足了而已) 

> 視訊位元速率
  視訊位元速率就是資料傳輸時單位時間傳送的資料位數,一般我們用的單位是kbps即千位每秒。通俗一點的理解就是取樣率,單位時間內取樣率越大,精度就越高,處理出來的檔案就越接近原始檔案。
  位元速率:影響體積,與體積成正比;位元速率越大,體積越大;位元速率越小,體積越小。
  視訊位元速率:cbr(固定位元速率)與vbr(可變位元速率)。

 DVD解析度一般是720*576畫素,採用MPG2編碼,位元速率為6M-10M/s;
 VCD解析度一般是352*288畫素,視訊採用MPEG-1壓縮編碼,音訊採用MPEG 1/2編碼,位元速率上,視訊為1150KB/s,音訊224KB/s.

 視訊位元速率,幀率和解析度的聯絡與區別- http://blog.csdn.net/ameyume/article/details/7308504
  wav格式位元速率=取樣率 x 位深度 x 聲道;檔案大小 = 位元速率 x 時長

> 幀率, FPS
  每秒鐘視訊幀數(24/25/30/48/60 FPS);
  由於人類眼睛的特殊生理結構,如果所看畫面之幀率高於24的時候,就會認為是連貫的,此現象稱之為視覺暫留。這也就是為什麼電影膠片是一格一格拍攝出來,然後快速播放的。

  而對遊戲,一般來說,第一人稱射擊遊戲比較注重FPS的高低,如果FPS<30的話,遊戲會顯得不連貫。所以有一句有趣的話:“FPS(指FPS遊戲)重在FPS(指幀率)。每秒的幀數(fps)或者說幀率表示圖形處理器處理場時每秒鐘能夠更新的次數。高的幀率可以得到更流暢、更逼真的動畫。一般來說30fps就是可以接受的,但是將效能提升至60fps則可以明顯提升互動感和逼真感,但是一般來說超過75fps一般就不容易察覺到有明顯的流暢度提升了。如果幀率超過螢幕重新整理率只會浪費圖形處理的能力,因為監視器不能以這麼快的速度更新,這樣超過重新整理率的幀率就浪費掉了。

> Android 推流--解析度、幀率和位元速率三者之間的關係
 1.幀率:FPS(每秒鐘要多少幀畫面); 以及Gop(表示多少秒一個I幀)
 2.位元速率:編碼器每秒編出的資料大小,單位是kbps,比如800kbps代表編碼器每秒產生800kb(或100KB)的資料。
 3.解析度:單位英寸中所包含的畫素點數, VGA:Video Graphics Array(視訊影象解析度)
 4.關鍵幀(key frame):任何動畫要表現運動或變化,至少前後要給出兩個不同的關鍵狀態,而中間狀態的變化和銜接電腦可以自動完成,即表示關鍵狀態的幀叫做關鍵幀。
 5.過渡幀(interim frame):在兩個關鍵幀之間,電腦自動完成過渡畫面的幀叫做過渡幀。

-- 三者的對應直播質量的影響因素:
  1.幀率:影響畫面流暢度,與畫面流暢度成正比;幀率越大,畫面越流暢;幀率越小,畫面越有跳動感。如果位元速率為變數,則幀率也會影響體積,幀率越高,每秒鐘經過的畫面越多,需要的位元速率也越高,體積也越大。幀率就是在1秒鐘時間裡傳輸的圖片的幀數,也可以理解為圖形處理器每秒鐘能夠重新整理幾次。
  2.解析度:影響影象大小,與影象大小成正比:解析度越高,影象越大;解析度越低,影象越小。
  3.清晰度:
    在位元速率一定的情況下,解析度與清晰度成反比關係;解析度越高,影象越不清晰,解析度越低,影象越清晰。
    在解析度一定的情況下,位元速率與清晰度成正比關係;位元速率越高,影象越清晰;位元速率越低,影象越不清晰。

  通過上面關係的說明,可以大概知道好的畫質是解析度、幀率和位元速率三者之間的平衡,下面通過一個視訊流的資料量說明來更直觀的感受:
  位元速率如果為10Mb/s,代表1秒鐘有10M bit的視訊資料,對於YUV422格式的1080P視訊而言,一幀影象是 1920x1080x2x8/1024/1024 = 31.64Mbit,1秒鐘30幀影象的話,則有949.2Mb/s,可見其資料量之大,不壓縮根本無法網上傳播,所以一定要經過視訊壓縮處理,不要以為1080P的視訊就一定是高清的,清晰度還跟視訊位元速率密切相關,對於1080P的視訊而言,藍光視訊的位元速率是20Mb/s,一般下載的視訊位元速率大都是10Mb/s,一些IPCamera/無人機的位元速率是2~8Mb/s,而很多視訊網站的位元速率甚至低於5M/s,其實有時還不如高位元速率的720P清晰。

> 頻寬 / 碼流 / 人數
  頻寬 / (碼流 * 8) = 同時線上人數;檔案大小 = 時間×位元速率/8;流量(kb)=觀看視訊時長(s)*當前視訊位元速率(kbps)/8??
一個視訊檔案的大小為5.86M,播放時長為3分7秒:
 1,該檔案對應的碼流就是
  5.86 * 1024 * 1024 * 8 / (3 * 60 + 7) =262872.95657754bps
 2,10M獨享頻寬能支撐的同時線上人數
  10* 1024 * 1024 / 262872.95657754 =39.889078498294
 3,支撐1000人同時線上的系統最少需要的頻寬數為
  262872* 1000 / (1024 * 1024) = 250.69427490234M

  以一個100分鐘時長的視訊為例,向大家解說一下視訊流量的計算方法:一般的視訊網站,會把上傳的視訊轉碼成為流暢、高清、超清等幾個版本,相應的他們對著不
同的位元速率,那麼如何計算不同解析度下的視訊流量呢?
 200p —— 對應的位元速率是256kpbs, 也就是說,一分鐘需要流量1.92M,  播放完畢所需的流量是192M;
 360p —— 對應的位元速率是512kpbs, 也就是說,一分鐘需要流量3.84M,  播放完畢所需的流量是384M;
 720p —— 對應的位元速率是1024kpbs,也就是說,一分鐘需要流量7.68M,  播放完畢所需的流量是768M;
 1080i—— 對應的位元速率是1800kpbs,也就是說,一分鐘需要流量13.5M,  播放完畢所需要的流量是1.35G;
 1080P——對應的位元速率是3500kpbs,也就是說,一分鐘所需流量26.25M,播放完比所需要的流量是2.625G。