你可以使用一个AVAssetReader对象来获得一个asset的媒体数据,无论这个asset是file-based或者多个sources的媒体数据的组合(as with an AVComposition object)。
Overview
AVAssetReader lets you:
1.直接从storage中读取裸的未解码的采样数据,得到解码后能够渲染的采样数据。
2.混合asset中多个audio tracks,合并多个video tracks (by using AVAssetReaderAudioMixOutput and AVAssetReaderVideoCompositionOutput).
AVAssetReader’s的流水线内部是多线程的。在你使用initWithAsset:error:初始化读操作之后,一个reader会在检索操作如copyNextSampleBuffer (AVAssetReaderOutput)之前加载和处理多个sample data,这样检索操作的延时可以非常低。
Note
AVAssetReader不是专门为了处理实时sources,他不能保证实时操作的性能。