录制和保存多帧视频的最快方法

时间:2019-02-22 10:47:00

标签: ios avkit avassetwriterinput

我需要记录金属视图生成的多个帧(很多)。我发现的所有代码都使用AVAssetWriterInputPixelBufferAdaptorAVAssetWriterInput一次在字面上写一个框架。

while !mAssetWriterVideoInput.isReadyForMoreMediaData {}
let result = mAssetWriterPixelBufferInput.append(pixelBuffer, withPresentationTime: presentationTime)

您可以想象这是一个非常漫长的过程,并且“渲染”需要大量时间(约为视频长度的2倍)。

假设将所有帧存储在内存中然后在1个写入过程中保存它们是不可行的(需要太多内存),AVKit是否提供了一种在需要时在较低优先级线程中异步写入磁盘的方法随着新框架的增加?这样就不会在每一帧都进行写入,而只会在可用内存变少时发生。

0 个答案:

没有答案