本文介绍: AVFoundation 是 OSX 系统和 iOS 系统中用于处理基于时间的媒体数据的高级框架,AVFoundation的设计过程高度依赖多线程机制,充分利用多核硬件优势,大量使用 Block 和 GCD 机制将运算任务放在子线程,且提供硬件加速确保最佳性能。
1. AVFoundation简介
AVFoundation 是 OSX 系统和 iOS 系统中用于处理基于时间的媒体数据的高级框架,AVFoundation的设计过程高度依赖多线程机制,充分利用多核硬件优势,大量使用 Block 和 GCD 机制将运算任务放在子线程,且提供硬件加速确保最佳性能。
简单说如果你的应用程序需要使用到高级媒体捕捉、媒体编辑可以使用 AVFoundation 来完成。
AVFoundation 框架在iOS的架构如下:
2. 视频捕捉
视频流捕捉框架图如下:
整体由输入、输出、会话层、连接、设备组成。对于每一个部分都有相应的类,下面分别介绍这几个类,后面会有实践。
3. AVCaptureSession
AVCaptureSession 是视频捕获的核心类,对应于框架中的capture session。它主用于管理输入输出,开始和停止捕获等,同时还可以设置输出数据的质量与格式。常用的方法和属性如下:
4. AVCaptureDevice
AVCaptureDevice 表示提供实时输入媒体数据(如视频和音频)的物理设备。该类是不能直接初始化的。devicesWithMediaType、devices 等方法均已被 AVCaptureDeviceDiscoverySession 替代,我们应当使用 AVCaptureDeviceDiscoverySession 类来获取设备。
下面是常用的一些属性和方法:
5. AVCaptureDeviceInput
6. AVCaptureOutput
7. AVCaptureMovieFileOutput
8. AVCaptureVideoDataOutput
9. AVCapturePhotoOutput
10. 总结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。