Как я могу уменьшить размер файла видео, созданного с помощью 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", автоматически обработает видеофайл, поэтому он достаточно мал для загрузки. Я хочу сделать то же самое в моем приложении.
Как я могу сделать это?