如何在iOS上使用AVMutableComposition和CALayers

我打算在使用AV可变组合的iOS视图中呈现内容。 我想把来自其中一台iPhone摄像机的video与一层中创build的内容结合起来 – 可变的组合似乎适合这里的法案,因为它可以将图层合成到video内容中。

在录制video时进行合成并不重要 – 我也很乐意将所需的数据混合到一个合成中,然后在初始录制完成之后(通过AVExportSession)呈现给文件。

我不明白的是,在AV框架的背景下,[ca]图层应该如何知道在组合期间的特定时间要绘制什么。

我的图层内容取决于时间轴,时间轴描述了图层中需要绘制的内容。 因此,如果我将一个图层embedded到可变组合中,然后通过AVExportSession导出该组合,则CALayer实例将如何知道其应该为其生成内容的时间?

我有类似的事情发生。 我会build议你检查WWDC 2010 AVEditDemo应用程序源码。 有一个示例代码,它完全符合您的需求 – 将CALayer放置在video轨道的顶部,并在其上进行animation。

您还可以查看我在以下方面的工作: 使用AVVideoCompositionCoreAnimationTool在CALayer中将video与静态图像混合