一、播放原理
音视频播放原理可以简单概括为:解协议 - 解封装 - 解码 - 音视频同步 - 播放
二、图像
YUV、RGB与YcbCr为色彩空间的模型,
BMP、PNG、JPEG为文件存储的格式。
2.1 YUV
YUV分为两种: 空间-间 与 空间-内
2.1.1 空间-间 YUV
空间-间 YUV 指的是 YUV三者之间字节比例不同,常见的有YUV444、YUV422、YUV420等
![](https://i-blog.csdnimg.cn/direct/142586c2410e481999f5e062e7d8b448.png)
如上图所示为YUV444,假设图像为1920*1080,则数据大小为3 * 1920 * 1080。
![](https://i-blog.csdnimg.cn/direct/5dd8759c27b24614b024d14f5e5fbbb2.png)
如上图所示为YUV422,两个相邻的像素点,Y是独立的,而U和V是共享的。它的大小为1920 * 1080 + 1920 * 0.5 + 1920 * 0.5
![](https://i-blog.csdnimg.cn/direct/70b78523fffa4a48a2ebf7abcbdeb29b.png)
如上图所示为YUV420,每四个相邻的像素点(2 * 2),Y是独立的,而U和V是共享的。
它的大小为 1920 * 1080 + 1920 * 0.25 + 1920 * 0.25
2.1.2 空间-内 YUV
空间内YUV指的是Y、U、V三者的字节比例相同,但存储格式不同。主要分为以下三种:
□ packet:打包格式,先存储一个YUV,再存下一个YUV
□ planar(P格式):平面格式,先存储Y,再存储U,再存储V
□ semi-planar(SP格式):打包格式,先存储Y,再存UV
下面用P格式举一个YUV422的例子:
其中,对上图中的YU16、YV16、NV16和NV61进行解释:
(1)YU、YV:YU属于P格式,YU表示存完Y后先存U再存V,YV表示存完Y后先存U再存V,
(2)NV:NV系列都属于SP格式,“12”、“16”代表先U后V,“21”、“61”代表先V后U
(3)12、16:代表一个像素占用的位数
2.2 RGB
RGB表示三色空间,音视频多用YUV色彩空间,因此这里不多扩展学习。
2.3 H.264
H.264是当下比较广泛的视频编码格式,一种高度压缩的数字视频编解码器标准。
它由视频编码层VCL和网络适配层NAL组成。