AVFoundation开发秘籍

AVFoundation 基础介绍

1个像素点大小 红色8位 绿色8位 蓝色8位

数字媒体压缩

色彩二次抽样

定义:减少颜色数据的过程
why:眼睛对亮度的敏感度高于颜色

编译码器压缩

概念:使用高级压缩算法对需要保存或发送的音频或视频数据进行压缩和编码,同时它还可以将压缩文件解码成适合播放器播放和编辑的媒体资源文件
有损压缩的目的:使用 psycho-acoustic 或 psycho-visual 模式作为一种方法来减少媒体内容中的冗余数据,这样会使原文件质量的损耗达到最小。

视频编解码器

H.264

该规范是 Motion Picture Experts Group(MPEG)所定义的 MPEG-4的一部反。

  • 空间:压缩独立视频帧,被称为帧内压缩。(有损压缩)
  • 时间:通过以组为单位的视频帧压缩冗余数据,这一过程被称为帧间压缩(不降低图片质量的情况下尽可能缩小尺寸,类似 JEPG 压缩原理)
  • GOP:在帧间压缩中,很多帧被组合在一起作为一组图片,对于~所存在的时间维度的冗余可以消除
  • I-frames:一些单独的帧或关键帧,包含创建完整图片需要的所有数据。(每个 GOP 有一个 I-frames,尺寸最大的,但解压最快的)
  • P-frames:预测帧。从基于最近I-frames 和 P-frames 的可预测的图片进行编码得到的。~引用最近的预测P-frames 和 I-frames。临近的 P-frames和 B-frames 可以引用~。
  • B-frames:双向帧。是基于使用之前和之后的帧信息进行编码后得到的帧。(几乎不需要储存空间,但其解压过程会耗费较长时间,因为依赖于周围的其他帧)
    H.264支持编码视图:
  • Baseline:最低效率的压缩,不支持 B-frames。如 iPhone 3GS
  • Main:算法更多,比较高的压缩率
  • High:最高质量,用了所有能用的编码技术和算法

Apple ProRes

  1. 是一个中间件或中间层编解码器,因为目的是为专业编辑和生产工作流服务。
  2. 是独立于帧的,意味着只有 I-frames 可以被使用,使其更适合在内容编辑上。
    ProRes 是有损编解码器,只在 OSX 可用。

音频编解码器

Core Audio 框架支持的,AV~都支持。在不用线性 PCM 音频的情况下,更多只能用ACC。

ACC(高级音频编码)

  1. 是 H.264标准相应的音频处理方式,目前是音频流和音频下载资源中最主流的编码方式。
  2. 比 MP3有提升,可以在低比特率的前提下提供更高质量的音频,是在 Web 上发布和传播的音频合适中最理想的。
  3. 没有来自证书和许可方面的限制

注:对于 MP3可以解码,不能编码

播放和录制音频

iOS 系统提供了一个可管理的音频环境(managed audio enviroment),可以带给所有 iOS 用户非常好的用户体验。

音频会话(audio session)

在大部分应用程序中,默认都是好的,但开发媒体应用程序时一般是不需要的。
默认配置:

  • 激活了音频播放,但是音频录音未激活
  • 当用户切换响铃/静音开关到“静音”模式时,应用程序播放的所有音频都会消失
  • 当设备显示解锁屏幕时,应用程序的音频处于静音状态
  • 当应用程序播放音频时,所有后台播放的音频状态都会处于静音状态
音频会话分类.JPG

配置音频会话

//  最佳配置位置
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    AVAudioSession *session = [AVAudioSession sharedInstance];
    NSError *error;
    if (![session setCategory:AVAudioSessionCategoryPlayback error:&error]) {
        NSLog(@"Category Error: %@",[error localizedDescription]);
    }
    if (![session setActive:YES error:&error]) {
        NSLog(@"Activation Error:%@",[error localizedDescription]);
    }
    return YES;
}

使用 AVAudioPlayer 播放音频

除非 从网络流中播放音频、需要访问原始音频样本或者需要非常低的时延,否则 AVAudioPlayer 都能胜任。

对播放器进行控制

  • play
  • pause
  • stop

注:调用 stop 方法会撤销调用 prepareToPlay 时所做的设置,而调用 pause 方法则不会

优化:

  • 修改播放器的音量[0,1]: eg. 声音渐隐效果
  • 修改播放器的 pan 值:允许立体声播放, [-1.0(极右),1.0(极右)],默认为0
  • 调整播放率[0.5,2]倍:允许用户在不改变音调的情况下调整播放率
  • 通过设置 numberOfLoops属性实现音频无缝循环 :-1无线循环
  • 进行音频计量当播放发生时从播放器读取音量力度的平均值及峰值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,265评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,274评论 1 288
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,087评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,479评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,782评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,218评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,594评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,316评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,955评论 1 237
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,274评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,803评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,177评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,732评论 3 229
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,953评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,687评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,263评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,189评论 2 258

推荐阅读更多精彩内容

  • 在保证视频图像质量的前提下,HEVC通过增加一定的计算复杂度,可以实现码流在H.264/AVC的基础上降低50%。...
    加刘景长阅读 7,582评论 0 6
  • 1 AVFoundation简介 1.1 Apple的媒体处理体系 Apple的媒体处理体系分为高、中、低三层,i...
    RichardJieChen阅读 2,157评论 1 2
  • [TOC] 音视频&流媒体 是什么促使我要写这一篇音视频入门文章?那是因为和一妹子打赌码率的概念,结果输了;对一个...
    AllenWu阅读 4,621评论 1 25
  • 第一章 AV Foundation 简介 1991 年苹果推出了 Quick Time 首次将数字音频和数字视频展...
    mayan29阅读 367评论 0 1
  • 天 又下起了雨 让我想起 那把 墨绿色的折叠伞 想起我和她经历过的大风大雨 那时的我 总喜欢放声歌唱 即便只有她肯...
    卷七阅读 277评论 2 1