AVMutableComposition
除了可以插入视频轨道、音频轨道外,还可以在上面覆盖layer,以添加水印、动画等。想想新闻联播下面转圈的地球,这种效果没有layer还真不好做
AVVideoCompositionCoreAnimationTool
AVVideoCompositionCoreAnimationTool
用来将 Core Animation 作为视频组合的后期处理阶段纳入 video composition 中
videoLayer 是video composition展现时的图层,animationLayer 是我们要在其上覆盖用的图层。AVVideoCompositionCoreAnimationTool
用于将 animationLayer 添加到 videoLayer 上。
使用AVVideoCompositionCoreAnimationTool
时需要注意:
- 动画时间坐标与视频时间坐标不一样,如果
beginTime
= 0,则表示动画开始时间为CACurrentMediaTime
,这与渲染视频的时间完全不同——渲染时“当前时间”早就过去了。AVFoundation
设置了AVCoreAnimationBeginTimeAtZero
常量来将 Core Animation 的beginTime