
IOS架构之路:Audio&Video
文章平均质量分 79
做IOS也有3、4年了。博客也陆陆续续写了不少。以前很多都是对知识点的总结。缺乏一种提纲挈领地感觉。最近思索良久,想从另一角度阐释对IOS整体的理解,希望作为自己学习知识的积累。同时也希望可以给大家一点参考。内容如有不当之处还望见谅。
郑微
关注
展开
-
IOS 视频直播/智能家居(一行行敲代码,从零开始)lesson:1整体架构
前段时间由于工作需要做了一个视频直播/智能家居类的应用。算是对IOS音视频专栏中流媒体处理做了一次小结。这里想把整个开发流程纪录下来,一方面是和大家共同探讨学习,另一方面也可以方便自己以后查漏补缺。整个开发没有借助任何第三方框架,所有流媒体协议都是一行行敲上去的,为什么呢?呵呵授之以鱼不如授之以渔!下面开始先了解下整个软件的架构。前端我们在IOS audio&video 专原创 2015-07-30 10:15:38 · 2434 阅读 · 4 评论 -
IOS 视频分解图片、图片合成视频
在IOS视频处理中,视频分解图片和图片合成视频是IOS视频处理中经常遇到的问题,这篇博客就这两个部分对IOS视频图像的相互转换做一下分析。(1)视频分解图片这里视频分解图片使用的是AVAssetImageGenerator,利用这个class可以很方便的实现不同时间戳下,视频帧的抓取。注意一般这种视频分解图片帧的方法都是放在子线程中的,而UI更新操作都是放在主线程中的。下面来看看核心代码:原创 2015-07-27 10:04:04 · 4302 阅读 · 0 评论 -
FFmpeg for ios架构:中级
FFmpeg这部分想了很久,也没找到比较好的讲解方式,本来想像其它博客一样,对着代码一行行的分析。但后来感觉不太现实,FFmpeg应用在IOS上怎么说代码最少也有个5、6k行(包括音视频、业务逻辑),再加上因为小弟也要上班养家,所以没这么多时间写的很详细,只能做一个随笔,简而化之的就整个架构描述描述。不过所有这些提到的地方都是使用的核心难点。不清楚地方还请大家多多包涵,请勿拍砖。呵呵另外除了这原创 2015-07-22 10:01:37 · 1864 阅读 · 1 评论 -
IOS音频架构之Audio Unit
在前面的章节部分我们已经对IOS音频结构有了一个清晰的认识,知道Audio Unit是位于整个音频结构的最底层,这一层很多API已经开始和硬件打交道了。所以比较复杂,有了前面的基础再来看这个部分就比较的容易了。先来看看Audio Unit的结构图:结构图很简单了,就不做过多的描述了。重点说下中间那部分DSP。因为以前读研的时候学的是DSP嵌入式驱动开发算法移植,所以对这部分比较熟悉,就原创 2015-07-21 09:11:35 · 4918 阅读 · 0 评论 -
AVFoundation视频播放(非音视频流处理)
前面我们已经提到了利用AVFoundation实现音视频播放,那么为什么这里又来讲一次呢?原因在于他们之间在IOS中的层次结构不一样。如果我们吧视频播放排个顺序的话:(1)MediaPlayer.framework(framework) 最上层cocos touch层,简单类比一下。最上层。(2)AVPlayer (calss)多媒体层 第二层(3)AVAsset(class) 可原创 2015-07-20 14:45:25 · 11860 阅读 · 0 评论 -
AVFoundation视频播放、存储原理分析与使用
在前面的章节,我们分析了Camera拍照录制,获取音视频流的基本过程。以及AVAsset保存音频文件。这里我们还要再来了解下AVAsset以及利用AVFoundation读取音视频流处理的过程。看起来这两个部分可能有些重复,其实不然,在这个部分我们会详细的讨论如何利用AVFoundation读取音视频流数据,实时特效处理,AVAsset音视频文件保存的一些关键点。 利用音视频流播放音视频文件:原创 2015-07-20 09:47:11 · 2795 阅读 · 0 评论 -
IOS:Camera的特性分析与使用3_OPENGL特效
本来想用2个篇幅结束Camera软件部分的介绍,后来发现,非常重要的一点OpenGL还没介绍,所以又增加了这一篇。这篇主要描述一下几个方面的内容:(1)录像界面OPENGL展示(2)录像实时特效处理(3)视频等比例缩放、旋转 如:等比例、16:9 4:3 1:1等这个部分我思来想去缺失不太好讲,设计到的知识太多,尤其是OpenGL的一些专业知识,通过一篇博客普及OpenGL的知原创 2015-07-16 14:05:28 · 1806 阅读 · 0 评论 -
IOS:Camera的特性分析与使用2_AVCapture
AVCapture前面我们已经分析了Camera的UIImageViewController使用,这个部分我们再来看下AVCapture怎么使用的。(1)输入源设置:相机、照片库(2)设置前后摄像头(3)设置视频质量(4)设置照片、视频模式(5)设置闪光灯打开方式(6)视频编辑(7)自定义摄像界面我们同样从这几个分部分析下AVCapt原创 2015-07-16 09:52:20 · 1069 阅读 · 0 评论 -
IOS:Camera的特性分析与使用
Camera是IOS中非常重要的一个信息获取途径。下面我们主要从硬件特性以及软件特性两个方面来看看Canera的使用,先来看看软件上我们使用Camera都能干点什么。先来看看下面一张图:相机软件部分主要介绍两个部分: UIImagePickerController AVCaptureAVCapture的结构和使用在前面的博客中已经介绍了,这里先来看看UIImagePic原创 2015-07-16 08:47:43 · 1513 阅读 · 0 评论 -
AudioQueue(AudioToolBox)的原理与使用
前面和大家探讨了AVFoundation对音频进行录制播放的多种方式,尤其是前一节,比较底层的控制了音频的录制。下面我们再来看看音频的整体框架:我们来介绍介绍中间层黄色部分:AudioToolBox这个部分主要探讨用Audio Queue对音频进行播放,当然可以用来录制。(因为上一节将的录制,所以为了不重复及多样性,我们这节将播放)先看看音频播放的原理:录音过程原创 2015-07-14 10:17:49 · 2827 阅读 · 1 评论 -
利用AVFoundation定制个性化音视频播放
我们按照这个图,从上到下一点点看看整个IOS的音频结构。MediaPlayer太简单了,这里就不介绍了。先从AVFoundation看起:这个框架下的类太多了,我们调几个比较重要的说说:(1) AVAsset:读写音视频文件,建立一系列的读写方法,获取音频视频数据。非常重要。(2) AVAudioPlayer:音频播放,定制音频播放界面,对音频播放、暂停、快进、快退、循原创 2015-07-14 09:28:37 · 1505 阅读 · 0 评论 -
AudioSession/AudioCaptureSession的分析与使用
这个是AudioSession的结构图:前一个部分已经介绍了AVFoundation对音频录制、播放的一种方法,下面再介绍另外一种:AVCaptureSession用这个类的优点在什么地方呢?(1)可以方面的对输入源进行控制:方便录制音频视频,抓取图片。(2)采集到数据源方便二次加工,比如音频变声、加背景音乐,视频添加滤镜特效。(3)定制编解码方法,尽可能采用I原创 2015-07-14 09:49:54 · 1686 阅读 · 0 评论 -
音频格式详解:WAV
(1)音频格式:典型WAV封装格式是每个音频文件必不可少的组成部分之一,它给我们提供了以下参考信息。音频文件类型、编解码方法、单双声道、采样深度、采样率、量化位数、音频文件大小、长度。下面首先来分析一下经典的wav音频的封装格式。个人精力有限不可能把每种音视频格式都一一解析,所以这里分别挑选了音频:Wav,视频Mp4两种多媒体文件格式介绍:下面我们对每一个字段进行详细的分析。整原创 2015-07-13 17:44:39 · 9154 阅读 · 0 评论 -
IOS架构师之路:我对IOS架构的点点认识(大纲)
1、今天我鼓起了勇气,想纪录自己对IOS架构学习成长的点点滴滴。从事IOS开发也有几年的时间,从刚开始最基本的语言、界面、逻辑,再到后面复杂点的线程、数据处理、网络请求、动画,最后到最复杂的底层音视频、图像算法、自定义各种效果、网络底层处理,甚至是最后的性能:neon、asm优化。感觉自己在IOS的开发中,每次都是雾里看花,明明很接近真理却总是触摸不到,对IOS缺乏一种全局把控的感觉。所以我下原创 2015-07-10 14:39:34 · 4522 阅读 · 0 评论