我正在尝试裁剪一段视频,这是用iPhone相机拍摄的,然后把它放在UIImageView上。我一直在关注这个问题,所以我想知道如何在iOS中将视频裁剪成一个圆圈?现在我可以把这个视频放到另一个不寻常的录像上面。现在我想要的背景是图像,前景是剪裁的视频。我现在的主要问题是在我想要剪裁的那部分剪辑视频。我不能在这里发布所有的代码,但是这里是github的位置,进行修改的类称为CustomVideoCompositor.m https://github.com/mayoff/stackoverflow-28258270-video-in-oval-on-video/tree/master/video。我很难把它编辑成一个圆圈,我希望它是一个椭圆形,位于下半部,比宽更高。
编辑
我想要进行切割,以便只有在这部分的圆角矩形将被裁剪和可用。

发布于 2015-04-05 11:12:52
您需要使用AVPlayer,因为它使您能够同时播放多个视频,或者将视频显示在另一个视图之上。此外,通过使用AVPlayer和AVPlayerLayer,很容易使视频显示为圆形。(这里有一个很好的教程,可以了解更多信息:http://jacopretorius.net/2013/02/playing-video-in-ios.html)
下面是代码(用于目标-C):
在视图控制器.h文件中:
#import <AVFoundation/AVFoundation.h>然后在viewDidLoad
[super viewDidLoad];
// Set up the image view first (the imageView is an IBOutlet)
self.imageView.image = [UIImage imageNamed:@"image"];
self.imageView.alpha = 0.2;
NSURL *url = [[NSBundle mainBundle] URLForResource:@"video" withExtension:@"mp4"];
AVPlayer *player = [AVPlayer playerWithURL:url];
CGFloat diameter = MIN(self.view.frame.size.width, self.view.frame.size.height) * 0.8;
AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:player];
layer.videoGravity = AVLayerVideoGravityResizeAspectFill;
layer.frame = CGRectMake((self.view.frame.size.width - diameter) / 2,
(self.view.frame.size.height - diameter) / 2,
diameter, diameter);
layer.cornerRadius = diameter / 2;
layer.masksToBounds = YES;
// Put the AVPlayerLayer on top of the image view.
[self.view.layer addSublayer:layer];
[player play];发布于 2015-04-09 12:18:33
如果您只想要裁剪视频的视觉效果,而不需要修改视频文件,您可以简单地为您的视频层添加一个掩码。我是说CALayer mask属性。
你可以创建这样的圆圈面具:画黑色的矩形,然后画透明的圆圈。
https://stackoverflow.com/questions/29425220
复制相似问题