最佳答案
如果您想导出该视频,您需要:
- 创建
CALayer
,它将成为您的视频层的父层 - 添加两个
CALayer
作为父层的子层 - 创建一个
CAShapeLayer
圆圈并 mask 你想要的视频层 - 创建
AVMutableVideoComopsition
并设置它(frameDuration
、renderSize
、说明
、...等)< - 使用
init(postProcessingAsVideoLayers:in:)
方法创建一个AVVideoCompositionCoreAnimationTool
实例 - 将其分配给
AVMutableVideoComopsition
的animationTool
属性 - 使用
AVAssetExportSession
导出它(将AVMutableVideoComopsition
设置为导出 session 的属性videoCompostion
)
这仅用于后期处理,不用于预览。
对于预览您可以尝试创建两个 AVPlayerLayer
并屏蔽其中一个,如果这不起作用您可以创建一个自定义视频合成器并根据需要渲染每个帧
关于IOS video over video 与圆形裁剪合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44764782/