iOS:如何使用AVAssetWriter制作包含一系列图像的电影

mdl*_*mdl 3 iphone objective-c ios avassetwriter

我已经在这里和其他论坛中以不同的形式多次看到这个问题.有些问题得到了解答,有些则没有.回答者或作者声称有一些成功的地方.我已经实现了那些声称成功的例子,但还没有看到相同的结果.

当从AVCaptureSession获取样本缓冲区时,我能够成功地使用AVAssetWriter(和AVAssetWriterInputPixelBufferAdaptor)同时写入图像数据和音频数据.但是,如果我有以其他方式生成的CGImageRef,并且"从头开始"构建CVPixelBufferRef,则AVAssetWriterInputPixelBufferAdaptor的appendPixelBuffer:withPresentationTime方法会成功几帧,然后对所有后续帧都会失败.生成的影片文件当然无效.

您可以在http://pastebin.com/FCJZJmMi上看到我的示例代码

图像有效,并通过在调试窗口中显示来验证(参见第50-53行).该应用程序已经过仪器测试,在整个应用程序运行期间内存利用率很低.它没有得到任何内存警告.

据我所知,我已经遵循了可用的文档.为什么示例代码失败?需要做些什么来解决它?

如果有人成功获得AVAssetWriterInputPixelBufferAdaptor来处理他们自己的图像,请加入.

BAD*_*DRI 9

使用示例中的AVAssetWriter制作带有一系列图像的电影 - https://github.com/caferrara/img-to-video