将CoreAnimation导出到视频文件

时间:2011-11-23 11:00:27

标签: iphone objective-c ios core-animation uiviewanimation

我在iPhone上使用Core Animation编写了一个基本的动画框架。它具有暂停和恢复动画的功能,还可以在指定时间运行动画。我的基本问题是我找不到将动画导出到视频文件(.mov,.avi等)的方法。我已阅读有关AVAssetWriterAVComposition的信息,但无法理解如何让它们适用于我的情况。

通过搜索互联网,我能够得到的最接近的是逐帧读取我的动画。即便如此,我也找不到让它工作的方法,也无法找到iPhone SDK是否有针对这种逐帧读取的功能。我也接近这个question on stackoverflow但仍然无法弄明白(抱歉,如果我觉得我是那些初学者,但我不是,只是无法理解一些事情)

如果有人知道如何使其工作,甚至知道如何使用它,请分享。如果你没有办法知道其他任何方法,比如使用OpenGL ES而不是CoreAnimation,请分享它。

1 个答案:

答案 0 :(得分:6)

查看此演示文稿:http://www.slideshare.net/invalidname/advanced-media-manipulation-with-av-foundation 在第84页,他谈到了为视频作品添加动画。我相信这会帮助你得到你需要的东西。

  
    

编辑:具体来说,您需要查看视频合成的animationTool。这是一个AVVideoCompositionCoreAnimationTool对象,允许您向输出视频添加核心动画层。另见这个问题:     Recording custom overlay on iPhone     对不起,我没有时间给你一个完整的代码片段,但基本上你设置了你的视频合成的动画工具,然后创建一个AVAssetExportSession并将其videoComposition设置为你所做的那个。