Я пытаюсь использовать 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.
Любое руководство будет оценено.