我目前正在渲染一个小于输出尺寸的视频轨道.我想在背景中绘制UIImage,以便视频位于顶部,图像显示在视频不在的区域.我尝试过使用CoreAnimation图层以及videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:inLayer:但是视频图层下方的图层似乎没有显示(上面的图片显示正常) - 只是黑色或我在AVMutableVideoCompositionInstruction对象上设置的任何背景颜色.我也尝试将背景颜色设置为[UIColor clearColor] .CGColor,但它只是以黑色显示.
有人做过类似的事并有建议吗?
CALayer *parentLayer = [CALayer layer];
CALayer *videoLayer = [CALayer layer];
CALayer *backgroundLayer = [CALayer layer];
backgroundLayer.frame = rect;
parentLayer.frame = rect;
videoLayer.frame = rect;
videoLayer.backgroundColor = [UIColor clearColor].CGColor;
backgroundLayer.backgroundColor = [UIColor purpleColor].CGColor;
[parentLayer addSublayer:backgroundLayer];
[parentLayer addSublayer:videoLayer];
mainCompositionInst.animationTool = [AVVideoCompositionCoreAnimationTool videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer inLayer:parentLayer];
Run Code Online (Sandbox Code Playgroud)