¿Cómo puedo reducir el tamaño de archivo de un video creado con UIImagePickerController?

Tengo una aplicación que permite a un usuario grabar un video conUIImagePickerController y luego subirlo a YouTube. El problema es que el archivo de video queUIImagePickerController crea es ENORME, incluso cuando el video dura solo 5 segundos. Por ejemplo, un video de 5 segundos de duración es de 16-20 megabytes. Quiero mantener el video en calidad 540 o 720, pero quiero reducir el tamaño del archivo.

He estado experimentando con AVFoundation yAVAssetExportSession para tratar de obtener un tamaño de archivo más pequeño. He probado el siguiente 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!");
}];

PeroEsto no ha reducido el tamaño del archivo en absoluto. Sé que lo que estoy haciendo es posible porque en la aplicación Fotos de Apple, cuando seleccionas"compartir en YouTube", procesará automáticamente el archivo de video por lo que es lo suficientemente pequeño como para cargarlo. Quiero hacer lo mismo en mi aplicación.

¿Cómo puedo lograr esto?

Respuestas a la pregunta(10)

Su respuesta a la pregunta