![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AVFoundation
优秀的竹子
不断学习与分享,成为优秀的人。
展开
-
AVFoundation开发秘籍笔记-01AVFoundation入门
一、概述AVFoundation是可以用它来播放和创建基于时间的视听媒体的几个框架之一,它提供了基于时间的视听数据的详细界别上的OC接口。可以用它来检查、创建、编辑、重新编码媒体文件。也可以从设备得到输入流和实时捕捉回放过程中操控视频用于处理基于时间的媒体数据的高级OC框架。充分利用了多核硬件的优势并大量使用block和Grand Central Dispatch(GCD)机制将复杂的计算...原创 2018-05-25 15:56:58 · 902 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-010混合音频初接触
直接组合音频会有一些问题:1、音乐轨道刚开始播放时音量就很大,在组合资源结束时突然停止。如果可以开始逐渐增加,结束的时候逐渐减小会提升体验。2、画外音轨道的处理。音乐轨道声音完全父爱画外音的声音,几乎听不到画外音。框架提供AVAudioMix来解决上面的两个问题。AVAudioMix用来在组合音频轨道中进行自定义音频的处理。AVAudioMix所具有的音频处理方法是由它的输入...原创 2018-06-19 14:44:50 · 883 阅读 · 1 评论 -
AVFoundation视频处理的时间CMTime
一、CMTimeCore Media定义的一种时间数据类型typedef struct{ CMTimeValue value; //64位有符号整型变量,作为分子 CMTimeScale timescale; //32位有符号整型变量,作为分母 // value/timescale = 对应时间-秒 CMTimeFlags flags; //位掩...原创 2018-06-19 10:23:00 · 4944 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-09媒体的组合和编辑
一、组合媒体AVFoundation有关资源的组合功能源于AVAsset的子类AVComposition。一个组合就是将其他几种媒体资源组合成一个自定义的临时排列,再将这个临时排列视为一个可以呈现或处理的独立媒体项目。比如AVAsset对象,组合相当于包含了一个或多个给定类型的媒体轨道的容器。AVCamposition中的轨道都是AVAssetTrack的子类AVComposition...原创 2018-06-15 16:22:34 · 1330 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-08读取与写入媒体
一、综述AVFoundation定义了一组功能可以用于创建媒体应用程序时遇到的大部分用例场景。 还有一些功能不受AVFoundation框架的内置支持,需要使用框架的AVAssetReader和AVAssetWriter类提供的低级功能,可以直接处理媒体样本。1、AVAssetReader用于从AVAsset中读取媒体样本,通常会配置一个或多个AVAssetReaderOutpu...原创 2018-06-14 18:32:36 · 1192 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-12动画图层内容CoreAnimation
一、Core Animation提供一种简单的、声明式程序模型使得在不需要使用OpenGL或者OpenGL ES框架的情况下就可以很容易地创建高性能、基于GPU的动画效果。Core Animation包含两类对象:Layers。图层对象由CALayer类定义,并用于管理屏幕内可视化内容的元素。这里所说的内容一般都是图片或者Bezier路径,不过图层本身具有可被设置的可视化特征,比如背...原创 2018-06-22 10:39:05 · 510 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-07高级捕捉功能之机器码识别(条码扫描)
一、概述机器码识别,也就是条码扫描。AVFoundation定义了多种欧冠条码符号进行实时识别的方法,前置或后置摄像头都可以。真个流程同人脸识别大体相似,区别就是输入元数据格式不同,另外就是对于元数据的处理和视图处理不同。只要掌握流程,再去做更多的定制就容易很多,首先要明白基本原理以及视频捕捉基本原理二、创建项目1、创建并配置会话1、创建会话self....原创 2018-06-07 11:50:34 · 722 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-11创建视频过渡效果
一、常用的类1、AVVideoComposition对两个或多个视频轨道组合在一起的方法给出了总体描述。由一组时间范围和描述组合行为的介绍内容组成,这些信息出现在组合资源内的任意时间点。除了包含描述输入视频层组合的信息之外,还提供了配置视频组合的渲染尺寸、缩放和帧时长等属性。视频组合配置确定了委托对象处理时AVComposition的呈现方式。这里的委托对象比如AVPlayer或A...原创 2018-06-21 11:04:55 · 988 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-07高级捕捉功能之人脸识别
一、概述这里的人脸检测是通过AVFoundation实现的实时人脸检测功能,会在检测到人脸自动建立相应的焦点。AVFoundation中通过特定的AVCaptureOutput类型的AVCaptureMetadataOutput实现这个功能。它的输出同之前类似,输出的不是静态图片或影片,而是元数据。定义了用来处理多种元数据类型的接口,当使用人脸检测时,会输出一个具体子类类型AVMetada...原创 2018-06-06 14:19:12 · 1121 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-07高级捕捉功能之录制视频缩放
概述AVCaptureDevice提供videoZoomFactor属性,用用控制捕捉设备的缩放等级。这个属性最小值为1,即不能进行缩放的图片。最大值由捕捉谁被属性activeFormat决定。它是AVCaptureDeviceFormat的实例,还包含有设备支持的最大缩放值videoMaxZoomFactor。设备执行缩放效果是通过居中裁剪由摄像头传感器捕捉到的图片实现。所以过度放大...原创 2018-06-06 11:10:58 · 898 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-06捕捉媒体
一、捕捉功能1、捕捉会话 AVCaptureSessionAVFoundation捕捉栈的核心类是AVCaptureSession。一个捕捉会话相当于一个虚拟的“插线板”,用于连接输入和输出的资源。捕捉会话管理从屋里设备得到的数据流,比如摄像头和麦克风设备,输出到一个或多个目的地。可以动态配置输入和输出的线路,可以再会话进行中按需配置捕捉环境。捕捉会话还可以额外配置一个会话预设...原创 2018-06-05 17:34:22 · 491 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-05AVKit用法-AVPlayerViewController
MediaPlayeriOS3.0-iOS9.0定义了MPMoviePlayerController和MPMoviePlayerViewController两个类,提供简单的方法将完整的视频播放功能整合到应用程序中。播放、暂停、快进等功能需要导入对应的库文件#import <MediaPlayer/MediaPlayer.h>,iOS8.0以后可以不再使用这个库,iOS9...原创 2018-05-29 15:00:28 · 854 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-04视频播放
一、播放功能综述1、AVPlayerAVPlayer用来播放基于时间的视听媒体的控制器对象。支持播放从本地、分步下载或通过HTTP Live Streaming协议得到的流媒体,并在多种播放场景中播放这些视频资源。AVPlayer是一个不可见组件,如果播放MP3或AAC音频文件,那么没有可视化的用户界面不会有什么问题。如果是要播放一个QuickTime电影或一个MPEG-4视频,就...原创 2018-05-25 16:00:05 · 1189 阅读 · 0 评论 -
AVFoundation开发秘籍笔记-03资源和元数据
一、资源AVAssetAVAsset是一个抽象类和不可变类,定义媒体资源混合呈现的方式,将媒体资源的静态属性模块化成为一个整体,比如标题、时长和元数据等。AVAsset不需要考虑媒体资源所具有的两个重要范畴:1、提供了对基本媒体格式的层抽象,不需要关注具体格式,只关注资源这个概念。2、隐藏资源的位置信息。AVAsset本身不是媒体资源,但他可以作为时基媒体的容器,由一个或多个带有描述自...原创 2018-05-25 15:59:26 · 41541 阅读 · 1 评论 -
AVFoundation开发秘籍笔记-02播放和录制音频
一、音频会话 AVAudioSession音频会话在应用程序和操作系统之间扮演着中间人的角色,提供一种简单实用的方法是OS得知应用程序应该如何与iOS音频环境进行交互。AVAudioSession有AVFOundation框架引入。每个iOS应用程序都有自己的一个音频会话,这个会话可以被AVAudioSession的类方法sharedInstance访问。音频会话是一个单例对象,可以使...原创 2018-05-25 15:58:00 · 759 阅读 · 0 评论 -
AVFoundation编程指南文档-整理思维导图
官方文档地址总结思维导图。原创 2018-07-06 14:31:59 · 559 阅读 · 0 评论