我正在尝试使用AVFoundation裁剪我正在录制的视频。假设我创建了一个AVCaptureVideoPreviewLayer并将其框架设置为300x300。
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session];
captureVideoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
captureVideoPreviewLayer.delegate = self;
captureVideoPreviewLayer.frame = CGRectMake(0,0, 300, 300);
[previewView.layer addSublayer:captureVideoPreviewLayer];
用户看到的视频被裁剪了。我希望能以用户所看到的方式精确保存视频。使用AVCaptureMovieFileOutput,视频显然会在不裁剪的情况下保存。我考虑使用AVCaptureVideoDataOutput拦截帧并自己裁剪它们,但我想知道是否有更有效的方法来实现这一点,也许可以使用AVExportSession和AVVideoComposition。
任何指导都将不胜感激。