Como uso o AVFoundation para cortar um vídeo

Estou tentando usar o AVFoundation para cortar vídeos que estou gravando. Digamos que eu crie um AVCaptureVideoPreviewLayer e defina o quadro como 300x300.

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

O usuário vê o vídeo cortado. Gostaria de salvar o vídeo exatamente da maneira que o usuário está visualizando. Usando o AVCaptureMovieFileOutput, o vídeo obviamente é salvo sem cortar. Eu estava pensando em usar um AVCaptureVideoDataOutput para interceptar os quadros e cortá-los eu mesmo, mas queria saber se existe uma maneira mais eficiente de fazer isso, talvez com AVExportSession e usando um AVVideoComposition.

Qualquer orientação seria apreciada.