¿Cómo uso AVFoundation para recortar un video

Estoy tratando de usar AVFoundation para recortar videos que estoy grabando. Digamos que creo un AVCaptureVideoPreviewLayer y configuro el marco para que sea 300x300.

AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [AVCaptureVideoPreviewLayer     layerWithSession:session];
captureVideoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
captureVideoPreviewLayer.delegate = self;
captureVideoPreviewLayer.frame = CGRectMake(0,0, 300, 300);
[previewView.layer addSublayer:captureVideoPreviewLayer];

El usuario ve el video recortado. Me gustaría guardar el video exactamente como lo ve el usuario. Usando AVCaptureMovieFileOutput, el video obviamente se guarda sin recortar. Estaba considerando usar un AVCaptureVideoDataOutput para interceptar los marcos y recortarlos yo mismo, pero me preguntaba si hay una manera más eficiente de hacer esto, tal vez con AVExportSession y usando un AVVideoComposition.

Cualquier orientación sería apreciada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta