使用 AVAsset 的多个图像到视频需要高内存

Posted

技术标签:

【中文标题】使用 AVAsset 的多个图像到视频需要高内存【英文标题】:Multiple Image to Video with AVAsset Requires high memory 【发布时间】:2015-04-23 11:02:48 【问题描述】:

我已经看到了关于如何在输入图像超过 500 个时创建视频的大多数问题(在 *** 上提出)。我尝试使用提供的所有答案从图像(超过 500 个图像)创建视频,但是它们会占用大量内存,因此我的应用程序由于内存占用高而崩溃。

我试过这个链接,但没有得到满意的结果。 ios5 AVFoundation image to video

iOS- CVPixelBufferCreate memory cannot release correctly when making image to video

create video from array of UIImages and save the video to iPhone library. AVAssetLibrary +AVFoundation

除此之外,我还尝试了另一个链接。当有超过 500 张图像时,请帮助我创建视频。 谢谢。

【问题讨论】:

找到解决办法?? 【参考方案1】:

不要像iOS- CVPixelBufferCreate memory cannot release correctly ...示例那样在主线程上生成电影。

其次,在处理单个电影帧的循环中添加一个@autoreleasepool。

【讨论】:

以上是关于使用 AVAsset 的多个图像到视频需要高内存的主要内容,如果未能解决你的问题,请参考以下文章

一次快速将多个图像保存到文件系统,高CPU

Swift 3 将数据转换为 AVAsset 或 PHAsset

将 AVAsset 读入帧并编译回视频

从 PHAsset 加载图像非常慢

为科尔多瓦视频编辑器修改 AVAsset 中的比特率

使用 AVAssetReader 读取多个轨道