(一)Android音视频-视频编解码

图像在内存中存储方式

图像在内存中存储就是一排排数字矩阵,矩阵中每个数字代表不同的像素点,常见的颜色空间有灰度空间,RGB空间,YUV空间。

YUV

YUV是欧洲电视所使用的一种格式,研究表明人眼对亮度敏感度高于色度,所以色度减少人眼也不会察觉什么,这也是YUV的数据小于RGB的原因。其中Y代表亮度,UV代表色差,U和V是构成颜色的两个分量。

RGB

通过名字就可以知道是由R(red),G(green),B(blue)三原色所叠加,组成不同的颜色

编码的作用

如一个1280*720的RGB视频每秒产生的数据是巨大的
1280 ∗ 720 ∗ 33 ∗ 3 / 1024 / 1024 = 87 M B 1280*720*33*3/1024/1024=87MB 1280720333/1024/1024=87MB
为了进行网络传输,使用编码来压缩体积

视频帧

I帧

帧的完整数据,只需要这一帧就可以解析完整画面。

P帧

用于存储与上一帧的差别数据,解码时候通过上一帧的缓存与存储的差别数据而得到下一帧

B帧

用于记录前后帧的不同点来压缩数据,属于双向预测,压缩率最高。

基本概念

帧率(FPS)

每秒显示的帧数,现在一般游戏都有高帧率模式。增大每秒显示的帧数从而得到更流畅的游戏体验,人眼一般只能察觉到75fps左右。

视频分辨率

视频所成像的图像大小尺寸。

刷新率

屏幕每秒刷新的次数。刷新率越高图像越稳定,越低图像闪烁抖动越厉害。

码率(比特率)

单位播放连续的媒体,越高带宽消耗越多。
文 件 大 小 ( b ) = 码 率 ( b / s ) × 时 长 ( s ) 文件大小(b)=码率(b/s)×时长(s) b=b/s×s

DTS

即Decode Time Stamp,主要用于标示读入内存中的比特流在什么时候开始送入解码 器中进行解码。

PTS

即Presentation Time Stamp,主要用于度量解码后的视频帧什么时候被显示出来。

猜你喜欢

转载自blog.csdn.net/u011919816/article/details/123704364