iOS AVFoundation编解码
简介
最近在做一个视频处理的应用app,主要实现图片搭配视频资源合成最终的视频,需要用到编解码知识,起初考虑FFMpeg,但FFMpeg编码效率偏低,需要用到硬件编解码。然后就考虑用原生平台采用的方案
VideoToolbox编解码框架适合于录制视频的编解码,解决从摄像头实时编码视频,而我们要做的是图片编码视频,所以放弃采用VideoToolbox框架
AVFoundation是iOS原生多媒体操作的库,主要用于处理音视频的框架,提供针对视频与音频处理的类,下面从编码与解码两方面进行说明>
解码部分:
解码需要用到几个类:AVAsset、AVAssetTrack、AVAssetReaderTrackOutput、AVAssetReader
//声明
AVAssetTrack *videoTrack;
AVAssetReaderTrackOutput *videoReaderOutput;
AVAssetReader *reader;
AVAsset *assetVideo;
- (void)initWithAsset:(AVAsset *) asset
{
if (asset == nil) {