Como posso reduzir o tamanho do arquivo de um vídeo criado com o UIImagePickerController?

Eu tenho um aplicativo que permite ao usuário gravar um vídeo comUIImagePickerController e depois enviá-lo para o YouTube. O problema é que o arquivo de vídeo queUIImagePickerController cria é ENORME, mesmo quando o vídeo tem apenas 5 segundos de duração. Por exemplo, um vídeo de 5 segundos de duração é de 16 a 20 megabytes. Eu quero manter o vídeo em qualidade 540 ou 720, mas eu quero reduzir o tamanho do arquivo.

Eu tenho experimentado com AVFoundation eAVAssetExportSession para tentar obter um tamanho de arquivo menor. Eu tentei o seguinte código:

AVAsset *video = [AVAsset assetWithURL:videoURL];
AVAssetExportSession *exportSession = [AVAssetExportSession exportSessionWithAsset:video presetName:AVAssetExportPresetPassthrough];
exportSession.shouldOptimizeForNetworkUse = YES;
exportSession.outputFileType = AVFileTypeMPEG4;
exportSession.outputURL = [pathToSavedVideosDirectory URLByAppendingPathComponent:@"vid1.mp4"];
[exportSession exportAsynchronouslyWithCompletionHandler:^{
    NSLog(@"done processing video!");
}];

Masisso não reduziu o tamanho do arquivo. Eu sei o que estou fazendo é possível porque no aplicativo Fotos da Apple, quando você seleciona"compartilhar no YouTube", processará automaticamente o arquivo de vídeo para que seja pequeno o suficiente para fazer o upload. Eu quero fazer a mesma coisa no meu aplicativo.

Como posso fazer isso?

questionAnswers(10)

yourAnswerToTheQuestion