近几天终于有点空闲时间写写东西了,将之前项目中自己做的东西更新上来,写写自己的心得感想。
iOS系统上的音频硬编码器,可实现将pcm音频数据编码为aac格式的数据。但是,对于低码率下的音频编码,就是它的软肋了。通过函数扫描iOS各系统上音频硬编码支持的情况发现,aac-lc编码都是支持的,苹果的官方文档也说的很清楚。对于aac-he-v2编码,iOS现在所有的系统都不支持,aac-he编码需要iOS9.0以上系统才支持音频硬编码。
近几天终于有点空闲时间写写东西了,将之前项目中自己做的东西更新上来,写写自己的心得感想。
iOS系统上的音频硬编码器,可实现将pcm音频数据编码为aac格式的数据。但是,对于低码率下的音频编码,就是它的软肋了。通过函数扫描iOS各系统上音频硬编码支持的情况发现,aac-lc编码都是支持的,苹果的官方文档也说的很清楚。对于aac-he-v2编码,iOS现在所有的系统都不支持,aac-he编码需要iOS9.0以上系统才支持音频硬编码。
待续。。。
采用UIGraphics将两幅图绘制到同一个画布上输出,达到图像融合的简单效果。
该文的内容在我之前的文章中已经实现过,但是为了结构清晰起见,本文将相机控制和采集视频数据功能封装为单独的库。
iOS上使用AVFoundation.framework框架来调用系统相机并获取视频数据。视频数据可以根据设定的参数,可采集到RGB或YUV数据,一般使用的是GBRA32,420v,420f,下面演示相机的调用和视频数据的获取。
a)引入框架的头文件#import <AVFoundation/AVFoundation.h>
b)调用的类遵守协议AVCaptureVideoDataOutputSampleBufferDelegate
在iOS平台上使用iOS8及以上系统的VideoToolbox进行硬编码,会涉及到CMTime,CMTimeMake,CMTimeMakeWithSeconds的使用。下面说下这几个结构体的作用。
CoreMedia.framework的CMTime.h中CMTime,CMTimeMake,CMTimeMakeWithSeconds的定义如下: