Как я могу уменьшить размер файла видео, созданного с помощью UIImagePickerController?

У меня есть приложение, которое позволяет пользователю записывать видео сUIImagePickerController а затем загрузить его на YouTube. Проблема в том, что видео файл, которыйUIImagePickerController создает ОГРОМНО, даже когда видео длится всего 5 секунд. Например, 5-секундное видео длиной 16-20 мегабайт. Я хочу сохранить качество видео 540 или 720, но хочу уменьшить размер файла.

Я экспериментировал с AVFoundation иAVAssetExportSession чтобы попытаться получить меньший размер файла. Я пробовал следующий код:

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!");
}];

Ноthis hasn't reduced the file size at all, Я знаю, что то, что я делаю, возможно, потому что в приложении Apple для фотографий, когда вы выбираете"share on YouTube", автоматически обработает видеофайл, поэтому он достаточно мал для загрузки. Я хочу сделать то же самое в моем приложении.

Как я могу сделать это?

Ответы на вопрос(10)

Ваш ответ на вопрос