I have an AVMutableComposition
with a video track and I would like to add a still image into the video track, to be displayed for some given time. The still image is simply a PNG. I can load the image as an asset, but that’s about it, because the resulting asset does not have any tracks and therefore cannot be simply inserted using the insertTimeRange…
methods.
Is there a way to add still images to a composition? It looks like the answer is somewhere in Core Animation, but the whole thing seems to be a bit above my head and I would appreciate a code sample or some information pointers.
OK. There’s a great video called Editing Media with AV Foundation from WWDC that explains a lot. You can’t insert images right to the AVComposition
timeline, at least I did not find any way to do that. But when exporting or playing an asset you can refer to an AVVideoComposition
. That’s maybe not a perfect name for the class, since it allows you to mix between various video tracks in the asset, very much like AVAudioMix
does for audio. And the AVVideoComposition
has an animationTool
property that lets you throw Core Animation layers (CALayer
) into the mix. CALayer
has a contents
property that can be assigned a CGImageRef
. Does not help in my case, might help somebody else.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With