iOS Media音视频框架

音频

Core Audio Overview
Multimedia Programming Guide

Core Audio

AudioToolbox

Record or play audio, convert formats, parse audio streams, and configure your audio session.

功能

音频转换服务 AudioConverterService

用于各种线性 PCM 音频格式之间的转换。也可以用于线性 PCM 与各种压缩音频格式的转换,比如将 PCM 音频流编码压缩为 AAC 音频格式,减少数据量。AudioConverter 直接使用硬件进行编码操作,支持AAC,MP3,ALAC音频编码格式。

音频队列服务 AudioQueueService

提供一个缓冲队列用来管理音频流,一般用于录音或者音频播放。

音频文件服务 AudioFileStream

主要用于解析音频流和音频流的读写。

系统声音服务 SystemSoundService

用来直接播放少于30秒的音频文件,非常简单快捷。

  • AudioQueue 和 AudioFileStream 结合配合使用可以实现网络音频流的播放功能。

Audio Queue Services Programming Guide

AudioToolbox

AudioUnit

Add sophisticated audio manipulation and processing capabilities to your app. Create audio unit extensions that generate or modify audio in a host app.

iOS 中的所有音频技术都建立在 AudioUnit 之上。只有当您需要最高程度的控制,性能或灵活性,或者只需直接使用音频单元即可获得特定功能(如声学回声消除)时,在项目中直接使用音频单元是正确的选择。

iOS中的音频框架

功能

具有低延迟的同时音频I / O(输入和输出),例如用于VoIP(互联网协议语音)应用。
  • 一般用于对低延迟要求高的情况,比如直播推送端的录音功能。
响应回放合成声音,例如用于音乐游戏或合成乐器
使用特定的音频单元功能,例如声学回声消除,混合或音调均衡
一种处理链架构,可让您将音频处理模块组合成灵活的网络。这是iOS中唯一提供此功能的音频API。

About Audio Unit Hosting

Core Audio

Use specialized data types to interact with audio streams, complex buffers, and audiovisual timestamps.

包含所有音频框架服务使用的通用的音频格式数据类型。

视频

AVFoundation

Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.

AVFoundation

功能

AVAsset

Asset表示一个音频或者视频媒体资源,支持网络资源。

  • 可以获取到音视频的track。
  • AVAssetImageGenerator 可以获取到视频中的某一帧图像。
视频音频照片捕获

提供AVCapture相关的工具类实现捕获功能,支持直接生成音频,图片和视频文件。同时也支持获取实时捕获的数据流。

  • 捕获实时的数据流,通过CoreImage 进行滤镜处理,之后通过OpenGL 或者 Metal 渲染,可以实现拍照实时滤镜的功能。包括直播推流端推送视频数据流。
AVPlayer

AVPlayer 用于音视频的播放,支持网络文件的播放。可以实现一些简单的播放功能。

AVAudioSession

与系统音频进行交互,例如修改当前音频功能的模式,监听其他应用的音频播放。

音频
  • AVAudioPlayer用于播放本地音频文件。
  • AVAudioRecorder用于实现简单的录音功能,只能保存到本地文件,不能操作音频流。
  • AVAudioConverter 用于多种音频流格式的转换。
多媒体组合

提供 AVComposition 相关类用于多个源的音频和视频流的组合。

  • 给一个视频音频替换其他的声音文件。
  • 多个视频合成单个视频,单个视频分割为多个视频。
  • 多个音频文件混合,分割。
音视频导出

AVAssetReader 相关类用于本地音视频流的读取,支持多个流组合读取包括 AVComposition 生成的流。

  • 通过 AVAssetReader 获取视频流,通过 Core Image 实现视频播放实时滤镜的功能。
    AVAssetWriter 相关类用于将音视频流写入到本地文件,支持多个流同时写入。
Speech Synthesis

可以将文字转为音频播放。

AVFoundation Programming Guide

AVkit

Create view-level services for media playback, complete with user controls, chapter navigation, and support for subtitles and closed captioning.

AVPlayer 相关类提供音视频播放的功能。基于 AVFoundation 实现,继承自 UIKit,可以直接添加到 UIKit视图中使用。

AVKit

Core Audio Kit

Add user interfaces to audio units.

Core Audio Kit

Core Media

Represent time-based audio-visual assets with essential data types.

提供一些基础数据类型在多个音视频框架中共用。

Core Media

Core Video

Process digital video—including manipulation of individual frames—using a pipeline-based API and support for both Metal and OpenGL.

提供一个使用视频帧的渲染管道,支持 OpenGL 和 Metal 渲染。
  • 将视频流通过 OpenGL 或者 Metal 进行实时渲染,需要通过 Core Video的工具类对视频流进行 Texture转换。

Core Video

Media Player

Add the ability to find and play songs, audio podcasts, audio books, and more from within your app.

主要用于播放 iOS 音乐库中的音乐.

Media Player

VideoToolbox

Work directly with hardware-accelerated video encoding and decoding capabilities.

提供直接使用硬件加速的视频编码和解码功能

硬件编解码就是使用 GPU 进行编解码。相对 CPU 软解码,GPU 可以很少的占用 CPU 资源,速度快,更省电。支持 H.264 和 H.265 视频编码标准。

VideoToolbox

PhotoKit

Work with image and video assets managed by the Photos app, including those from iCloud Photos and Live Photos.

功能

访问系统相册和视频

PhotoKit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明先生_X自主阅读 15,979评论 3 119
  • 今天上午收到一封邮件,是阿里巴巴淘宝大学的一位培训专家,他在网上找到了我,并想邀请我为韩国的商家们做培训,仔细看了...
    茶山阅读 124评论 0 1
  • 【打卡】D15、35-viv晓慧 1:早起打卡✅ 2:✅听微课《自信三部曲》 3.✅听李跃儿微课 @a【主理宝宝】...
    Viv晓慧阅读 267评论 0 0
  • 暑假第42天,周日。 很难得,全家人睡懒觉,全都9:40才起来。睡懒觉的感觉真好,所以孩子那么...
    记得祝福阅读 294评论 0 1
  • 《望来者 是你》 我遇到过很多人, 却始终没有如你一般的人; 我曾心仪过很多人, 但始终都...
    白欢欢阅读 145评论 0 0