rgb24 size=width×heigth×3 bit
rgb32 size=width×heigth×4 bit
如果是i420(即yuv標準格式4:2:0)的資料量是
size=width×heigth×1.5 bit
在採集到rgb24資料後,需要對這個格式的資料進行第一次壓縮。即將影象的顏色空間由rgb2yuv。因為,x264在進行編碼的時候需要標準的yuv(4:2:0)。但是這裡需要注意的是,雖然yv12也是(4:2:0),但是yv12和i420的卻是不同的,在儲存空間上面有些區別。如下:
yv12 : 亮度(行×列) + u(行×列/4) + v(行×列/4)
i420 : 亮度(行×列) + v(行×列/4) + u(行×列/4)
可以看出,yv12和i420基本上是一樣的,就是uv的順序不同。
繼續我們的話題,經過第一次資料壓縮後rgb24->yuv(i420)。這樣,資料量將減少一半,為什麼呢?呵呵,這個就太基礎了,我就不多寫了。同樣,如果是rgb24->yuv(yv12),也是減少一半。但是,雖然都是一半,如果是yv12的話效果就有很大損失。然後,經過x264編碼後,資料量將大大減少。將編碼後的資料打包,通過rtp實時傳送。到達目的地後,將資料取出,進行解碼。完成解碼後,資料仍然是yuv格式的,所以,還需要一次轉換,這樣windows的驅動才可以處理,就是yuv2rgb24。
yuy2 是 4:2:2 [y0 u0 y1 v0]
yuv420p 和 yuv420的區別 在儲存格式上有區別
yuv420p:yyyyyyyy uuuuuuuu vvvvv
yuv420: yuv yuv yuv
YV12和I420的區別
在採集到rgb24資料後,需要對這個格式的資料進行第一次壓縮。即將影象的顏色空間由rgb2yuv。因為,x264在進行編碼的時候需要標準的yuv 4 2 0 但是這裡需要注意的是,雖然yv12也是 4 2 0 但是yv12和i420的卻是不同的,在儲存空間上面有些區別。如下 yv12 亮度 行 列 ...
《YV12和I420的區別》評注
icomments 在網上搜尋 yv12和i420的區別 發現大家都援引同一篇博文,現摘抄如下 在採集到rgb24資料後,需要對這個格式的資料進行第一次壓縮。即將影象的顏色空間由rgb2yuv。因為,x264在進行編碼的時候需要標準的yuv 4 2 0 但是這裡需要注意的是,雖然yv12也是 4 2...
yuv420和yuv420p的區別
yv12和i420的區別 在採集到rgb24資料後,需要對這個格式的資料進行第一次壓縮。即將影象的顏色空間由rgb2yuv。因為,x264在進行編碼的時候需要標準的yuv 4 2 0 但是這裡需要注意的是,雖然yv12也是 4 2 0 但是yv12和i420的卻是不同的,在儲存空間上面有些區別。如下...