AVFoundation:功能架构

AVFoundation 框架结合了音视频的主要技术领域,共同涵盖了在 Apple 平台上捕获、处理、合成、控制、导入和导出音视频的各种任务。

功能分类

AVFoundation 框架提供了大量的类及功能,下面对 AVFoundation 的一些核心功能进行分类说明。

视频播放

AVFoundation框架封装了 AVPlayerAVPlayerItem,可以实现本地文件或远程流视频资源的播放,并且能够对视频播放内容、速度等属性进行控制。

音频播放和记录

AVPlayer 不同,系统提供的 AVAudioPlayerAVAudioRecorder 指出简单的音频播放和录制功能,方便开发者进行音频相关开发,API 非常简单。

媒体捕捉

AVFoundation 提供了以 AVCaptureSession 为核心的设备控制类,主要处理摄像头捕捉和麦克风录音。

媒体编辑

AVFoundation框架支持多个音频和视频资源进行组合和修改,无论是视频合成、裁切,或者调整音频参数等,AVFoundation 基于 AVAsset 的子类 AVComposition 来处理这部分功能。AVComposition 中的轨道都是 AVAssetTrack 的子类 AVCompositionTrack。一个组合轨迹本身由一个或多个媒体片断组成,由 AVCompositionTrackSegment 类定义,代表这个组合中的实际媒体区域。

AVCompositionAVCompositionTrack 只提供对资源的只读操作,都是不可变对象。当需要创建视频组合时,就使用 AVMutableCompositionAVMutableCompositionTrack 所提供的可变子类。

媒体处理

通过 AVFoundation 框架的 AVAssetReaderAVAssetWriter 对媒体资源进行字节级别的操作,这些类提供直接访问视频帧和音频样本的功能,所以可以对媒体资源进行任何更高级的处理。

  Total:    No.