Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Export CoreAnimation to video file

I wrote a basic animation framework using Core Animation on iPhone. It has the functionality for pause and resume of animations and also can run animations at specified time. My basic problem is that I cannot find a way to export my animations to a video file (.mov, .avi etc). I have read about AVAssetWriter and AVComposition but cannot understand how to make them work in my case.

By searching the internet the closest I was able to get was it by doing frame by frame reading of my animations. Even for it I could not find a way to make it work and could not find that whether iPhone SDK have something to do that for this kind of frame by frame reading in my case. I also came close to this question on stackoverflow and still could not figure out (sorry if I feel that I am beginner in those things, but I am not, just could not understand some things)

If anyone know how to make it work or even how to something similar to it please share. And if there is no way then if you know any other way to do i.e using OpenGL ES instead of CoreAnimation please share it too.

like image 975
Azeem Avatar asked Nov 23 '11 11:11

Azeem


1 Answers

Check this presentation: http://www.slideshare.net/invalidname/advanced-media-manipulation-with-av-foundation Around page 84 he talks about adding animation to video compositions. I believe this will help you get what you need.

EDIT: Specifically you need to look at the animationTool of your video composition. This is a AVVideoCompositionCoreAnimationTool object that allows you to add a core animation layer to your output video. See also this question: Recording custom overlay on iPhone I am sorry I do not have the time to get you a full code snippet, but basically you set this animation tool of your video composition, and then create an AVAssetExportSession and set its videoComposition to the one you made.

like image 178
Israel Roth Avatar answered Sep 22 '22 18:09

Israel Roth