iOS 音视频开发基础
视频的构成
表面上看,视频由图像和音频构成。其实从内容元素上看,视频包含:
-
图像
-
音频 , 编码格式:
-
AAC
-
MP3
-
……
-
Metadata
-
视频编码格式:
-
H.26X系列:H.261, H.262, H.263, H.264, H.265 ……,其中264比较常见,等同于MPEG-4第十部分,大大提高了压缩率和压缩性能。265比264在压缩率,图像质量上更好,但是其对机器要求的性能更高。
-
MPEG系列:MPEG-1, MPEG-2, MPEG-4 ……
-
……
-
视频封装方式:MP4/MOV/AVI/RMVB/FLV ……
-
颜色模型:
-
RGB:就是用光的三原色红绿蓝进行不同比例混合生成不同颜色,意味着每个像素的颜色由R/G/B三个值构成。如果一个原色使用8bit,那么一个像素的颜色所占空间为3字节
-
YUV:Y代表亮度,U代表色调,V代表饱和度,后两者合起来称为色度。跟RGB相似,一个像素也是由三个分量组成,只不过,这种颜色模型可以有几种不同的编码方式,比如4:4:4/4:2:2/4:2:0,其不同点在于相邻四个像素点是否共享UV分量以及如何共享UV分量。比如下图是4:2:0方式的分量示意图:
-
-
RGB和YUV之间是可以相互转换的。
这其中视频的编解码是对视频的一个压缩与解压缩过程,它会影响视频的质量、码率、算法复杂性、数据丢失或者错误等。
就编码格式而言,H.264对直播等网络流媒体有很大优势,比如低码率、高质量图像、容错力强等。是目前广泛采用的一种编码方式,在这种编码方式下,其包含的元素从大到小为:序列、图像、片组、片、NALU(网络提取层单元)、宏块、亚宏块、像素。