2011-01-28 52 views
3

我已经在此处和其他论坛中以多种形式询问过此问题。其中一些问题得到解答,有些则没有。有几个答案者或作者声称已经取得成功。我已经实施了那些声称取得成功的例子,但还没有看到相同的结果。iOS:如何使用AVAssetWriter制作具有一系列图像的电影

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

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

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

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

如果有人已经成功地得到了AVAssetWriterInputPixelBufferAdaptor用自己的图像工作,请附和。

+0

链接到日志消息从运行的应用程序:http://pastebin.com/n6hJXs57 – mdl 2011-01-28 18:55:52

回答

3

有迹象表明,被要求使这项工作两件事情。

如果您正在调试您自己的AVAssetWriterInputPixelBufferAdaptor,请注意确保您不要跳过CMTime,并且确保您永远不会重复CMTime(每次只有一帧慢)。

相关问题