
[IOS]_Audio/Video
文章平均质量分 79
郑微
关注
展开
-
IOS音频3:之采用四种方式播放音频文件(三)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
紧接上一篇:原创 2014-10-17 16:22:04 · 3272 阅读 · 0 评论 -
利用AVFoundation定制个性化音视频播放
我们按照这个图,从上到下一点点看看整个IOS的音频结构。MediaPlayer太简单了,这里就不介绍了。先从AVFoundation看起:这个框架下的类太多了,我们调几个比较重要的说说:(1) AVAsset:读写音视频文件,建立一系列的读写方法,获取音频视频数据。非常重要。(2) AVAudioPlayer:音频播放,定制音频播放界面,对音频播放、暂停、快进、快退、循原创 2015-07-14 09:28:37 · 1505 阅读 · 0 评论 -
IOS:Camera的特性分析与使用
Camera是IOS中非常重要的一个信息获取途径。下面我们主要从硬件特性以及软件特性两个方面来看看Canera的使用,先来看看软件上我们使用Camera都能干点什么。先来看看下面一张图:相机软件部分主要介绍两个部分: UIImagePickerController AVCaptureAVCapture的结构和使用在前面的博客中已经介绍了,这里先来看看UIImagePic原创 2015-07-16 08:47:43 · 1513 阅读 · 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 评论 -
AudioQueue(AudioToolBox)的原理与使用
前面和大家探讨了AVFoundation对音频进行录制播放的多种方式,尤其是前一节,比较底层的控制了音频的录制。下面我们再来看看音频的整体框架:我们来介绍介绍中间层黄色部分:AudioToolBox这个部分主要探讨用Audio Queue对音频进行播放,当然可以用来录制。(因为上一节将的录制,所以为了不重复及多样性,我们这节将播放)先看看音频播放的原理:录音过程原创 2015-07-14 10:17:49 · 2827 阅读 · 1 评论 -
IOS 视频直播/智能家居(一行行敲代码,从零开始)lesson:1整体架构
前段时间由于工作需要做了一个视频直播/智能家居类的应用。算是对IOS音视频专栏中流媒体处理做了一次小结。这里想把整个开发流程纪录下来,一方面是和大家共同探讨学习,另一方面也可以方便自己以后查漏补缺。整个开发没有借助任何第三方框架,所有流媒体协议都是一行行敲上去的,为什么呢?呵呵授之以鱼不如授之以渔!下面开始先了解下整个软件的架构。前端我们在IOS audio&video 专原创 2015-07-30 10:15:38 · 2434 阅读 · 4 评论 -
AVFoundation视频播放、存储原理分析与使用
在前面的章节,我们分析了Camera拍照录制,获取音视频流的基本过程。以及AVAsset保存音频文件。这里我们还要再来了解下AVAsset以及利用AVFoundation读取音视频流处理的过程。看起来这两个部分可能有些重复,其实不然,在这个部分我们会详细的讨论如何利用AVFoundation读取音视频流数据,实时特效处理,AVAsset音视频文件保存的一些关键点。 利用音视频流播放音视频文件:原创 2015-07-20 09:47:11 · 2795 阅读 · 0 评论 -
AVFoundation视频播放(非音视频流处理)
前面我们已经提到了利用AVFoundation实现音视频播放,那么为什么这里又来讲一次呢?原因在于他们之间在IOS中的层次结构不一样。如果我们吧视频播放排个顺序的话:(1)MediaPlayer.framework(framework) 最上层cocos touch层,简单类比一下。最上层。(2)AVPlayer (calss)多媒体层 第二层(3)AVAsset(class) 可原创 2015-07-20 14:45:25 · 11860 阅读 · 0 评论 -
IOS音频架构之Audio Unit
在前面的章节部分我们已经对IOS音频结构有了一个清晰的认识,知道Audio Unit是位于整个音频结构的最底层,这一层很多API已经开始和硬件打交道了。所以比较复杂,有了前面的基础再来看这个部分就比较的容易了。先来看看Audio Unit的结构图:结构图很简单了,就不做过多的描述了。重点说下中间那部分DSP。因为以前读研的时候学的是DSP嵌入式驱动开发算法移植,所以对这部分比较熟悉,就原创 2015-07-21 09:11:35 · 4918 阅读 · 0 评论 -
FFmpeg for ios架构:中级
FFmpeg这部分想了很久,也没找到比较好的讲解方式,本来想像其它博客一样,对着代码一行行的分析。但后来感觉不太现实,FFmpeg应用在IOS上怎么说代码最少也有个5、6k行(包括音视频、业务逻辑),再加上因为小弟也要上班养家,所以没这么多时间写的很详细,只能做一个随笔,简而化之的就整个架构描述描述。不过所有这些提到的地方都是使用的核心难点。不清楚地方还请大家多多包涵,请勿拍砖。呵呵另外除了这原创 2015-07-22 10:01:37 · 1864 阅读 · 1 评论 -
音频格式详解:WAV
(1)音频格式:典型WAV封装格式是每个音频文件必不可少的组成部分之一,它给我们提供了以下参考信息。音频文件类型、编解码方法、单双声道、采样深度、采样率、量化位数、音频文件大小、长度。下面首先来分析一下经典的wav音频的封装格式。个人精力有限不可能把每种音视频格式都一一解析,所以这里分别挑选了音频:Wav,视频Mp4两种多媒体文件格式介绍:下面我们对每一个字段进行详细的分析。整原创 2015-07-13 17:44:39 · 9154 阅读 · 0 评论 -
IOS音频4:之采用四种方式播放音频文件(四)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
3.1 任务需求分析 在本小节主要利用openal实现对音频文件的播放。在功能上需要实现可以利用ply_music按钮播放本地音频文件。界面上我们沿用2.1小节中所建立的工程,在-(IBAction) ply_music: (id)sender中注释掉利用AudioToolbox.framework框架以及利用AVFoundation.framework播放音频文件的方法,将相应的原创 2014-10-21 10:28:09 · 2077 阅读 · 0 评论 -
IOS音频5:之采用四种方式播放音频文件(五)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
4.1 任务需求分析 前面我们介绍了3种音乐播放器的制作方法,但这些播放器不可避免的都是首先获取整段的音频文件,然后再进行处理。而对于流媒体或者是需要分段处理的音频文件就无能为力了。这里我们介绍第四种音乐播放器的制作方法,利用audio queue service实现对音频流的分段处理。Audio queue service支持lpcm、ios系统所支持的所有音频格式以及已经自己在操作原创 2014-10-21 10:31:17 · 1733 阅读 · 0 评论 -
IOS音频2:之采用四种方式播放音频文件(二)AudioToolbox AVFoundation OpenAL AUDIO QUEUE(2014-10-17 16:07)
从本章开始我们就开始制作一个音频播放器,一步步起,从零开始IOS多媒体的相关知识。在本章中,我们需要根据不同的音频播放器的应用场合制作四款播放器。为了保持知识点的连续性,我们使用统一的工程。在同一个工程中不断完善代码来实现多种方法的播放器的制作。另外我们采用与工程项目相同的步骤来学习,从一个完整的工程的角度出发来学习。包括任务需求分析、相关知识点介绍、源代码分析、项目工程建立、程序逻辑实现、最终结原创 2014-10-17 16:12:03 · 1549 阅读 · 0 评论 -
IOS音频6:之基于FFmpeg播放音频文件(一)
在前面的章节中我们采用了四种方法设计了应用于不同场合的音频播放器,已经可是正常的播放音频文件,那么我们为什么还要多次一举来分析音频的编解码过程呢?首先我们可以想象一下:如果我们想要制作一个很炫的音频声音那么我们如何处理呢?很显然第一步我们需要拿到经过采样得到的原始数字音频数据。这样才能在上面开发一些算法,实现很酷、很绚丽的音频特效。又例如我们想要录制一段音频并将其保存为xx.mp3格式呢?很显原创 2014-10-22 09:18:35 · 2267 阅读 · 0 评论 -
IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
在本卷你可以学到什么?采用四种方法设计应用于各种场合的音频播放器:基于AudioToolbox.framework框架。播放系统声音文件。基于AVFoundation.framework框架。播放多种音频格式文件。具有高级音频播放器功能。如实时显示进度、功率,控制音量、播放时间等。基于OPENAL框架。实现对本地音频文件播放,播放pcm音频文件,3D音频特效。基于AUDIOQU原创 2014-10-17 16:07:57 · 3901 阅读 · 0 评论 -
IOS音频7:之基于FFmpeg播放音频文件(二)
3.2 FFmpeg文件结构Ffmpeg从文件构成上来说主要分为以下5个部分,分别是ffmpeg、libavformat、libavcodec、ffserver、ffplay。ffmpeg被称之为多媒体文件转换工具,在进行交叉编译的时候其中的一些编译选项也是由这个模块来进行控制的。Libavformat包含了所有ffmpeg所支持的音视频编解码器中解析器。Libavcodec包含了相应的一些音原创 2014-10-22 09:22:49 · 2207 阅读 · 0 评论 -
IOS 视频分解图片、图片合成视频
在IOS视频处理中,视频分解图片和图片合成视频是IOS视频处理中经常遇到的问题,这篇博客就这两个部分对IOS视频图像的相互转换做一下分析。(1)视频分解图片这里视频分解图片使用的是AVAssetImageGenerator,利用这个class可以很方便的实现不同时间戳下,视频帧的抓取。注意一般这种视频分解图片帧的方法都是放在子线程中的,而UI更新操作都是放在主线程中的。下面来看看核心代码:原创 2015-07-27 10:04:04 · 4302 阅读 · 0 评论 -
AudioSession/AudioCaptureSession的分析与使用
这个是AudioSession的结构图:前一个部分已经介绍了AVFoundation对音频录制、播放的一种方法,下面再介绍另外一种:AVCaptureSession用这个类的优点在什么地方呢?(1)可以方面的对输入源进行控制:方便录制音频视频,抓取图片。(2)采集到数据源方便二次加工,比如音频变声、加背景音乐,视频添加滤镜特效。(3)定制编解码方法,尽可能采用I原创 2015-07-14 09:49:54 · 1686 阅读 · 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 评论