叠加到AVAsset视频

时间:2016-05-06 20:13:07

标签: objective-c video avfoundation overlay video-processing

我在AVAsset中保存了一个视频。我是否可以通过简单的方式为视频添加叠加层,以便在屏幕的一角显示水印?

我已经将它添加到AVMutableCompositionTrack然后创建AVAssetExportSession。或者它是不可能的,我是否也需要创建AVMutableVideoComposition的实例,我该怎么做?

我有办法将AVAsset转换为AVMutableVideoComposition并返回吗?

2 个答案:

答案 0 :(得分:0)

library具有您的请求功能。您可以通过阅读源代码找到答案。 希望这有帮助;)

答案 1 :(得分:0)

请尝试使用此代码在视频中添加叠加层:

 CALayer *overlayLayer = [CALayer layer];
 UIImage *overlayImage = [UIImage imageNamed:@"overlay.png"];
 [overlayLayer setContents:(id)[overlayImage CGImage]];
 overlayLayer.frame = CGRectMake(0, 0, size.width, size.height);
 [overlayLayer setMasksToBounds:YES];

 //Set Up the Parent Layer
 CALayer *parentLayer = [CALayer layer];
 CALayer *videoLayer = [CALayer layer];
 parentLayer.frame = CGRectMake(0, 0, size.width, size.height);
 videoLayer.frame = CGRectMake(0, 0, size.width, size.height);
 [parentLayer addSublayer:videoLayer];
 [parentLayer addSublayer:overlayLayer];

请检查以下链接,它可能对您有所帮助

http://www.raywenderlich.com/30200/avfoundation-tutorial-adding-overlays-and-animations-to-videos