【发布时间】:2011-07-09 01:37:37
【问题描述】:
我正在尝试使用 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。
任何指导将不胜感激。
【问题讨论】:
-
您能否让输出看起来像预览层一样清晰?这是一个问题,匹配 AVLayerVideoGravityResizeAspectFill 的锐度。
标签: ios avfoundation