1.AVFoundation的试用范围
1.媒体处理框架从高层到底层:
高层:AVKit
中层:AVFoundation
底层:Core Audio ,Core Video , Core Media, Core Animation
2.AVFoundation能做些什么
1.音频记录和播放: AVAudioPlayer 和AVAudioRecoder
2.媒体文件检查: 获取媒体文件的信息,通过AVMetadataItem提供的元数据支持,可以对媒体资源的描述信息进行读写
3.视频播放: 播放本地或者远程视频资源
4.媒体捕捉: 核心类AVCaptureSession,通过摄像头采集图片或视频
5.媒体编辑: 音频视频只见的组合,修改媒体片段等.
6.媒体处理: 对媒体资源进行更高级的处理,可以直接访问视频帧或者音频样本
3.理解数字媒体
1.数字媒体采样: 生活中的声音叫做模拟信号,存储和传输时,使用的是数字信号,采样也就是模拟信号和数字信号的转化过程.
2.音频采样: 线性脉冲编码调制(LPCM),在某频率下,对声音样本进行定点采样,得到一个离散的样本
3.视频采样: 视频是由一组图片组成的,每张图片叫做帧,这也就是视频采样
4.数字媒体压缩
1.采样得到的媒体资源非常大,不适合存储和传输,因此需要压缩
2.色彩二次抽样: YUV,人眼对亮度比色彩要更加敏感,每个像素点都需要有各自的亮度值,却不一定需要色度值,减少色彩信息的过程,就叫做色彩二次抽样,表示方法为j:a:b,j是几个关联色块(一般是四个)中包含的像素数,a是第一行中每个j像素的色度像素数,b是第二行中每个j像素的附加像素数.
3.编解码器压缩: encoder和decoder,使用高级算法对媒体资源进行压缩,可以无损也可以有损,有损则是减少媒体的冗余数据,用尽量少的部分来达到最好的效果.
4.H.264视频编解码器: 从帧大小和帧数量两个方面来压缩,减小单帧的尺寸,叫做帧内压缩,以组为单位,压缩冗余数据,比如一段几乎静止的画面,或者重复的画面,会消除冗余的帧.
5.AAC音频解码器: AAC比MP3格式有着显著的提升,是在web中发布和传播最理想的格式.AVFoundation提供了MP3格式的解码,但是不支持编码.