Wie kann ich die Dateigröße eines mit UIImagePickerController erstellten Videos reduzieren?

Ich habe eine App, mit der ein Benutzer ein Video aufnehmen kannUIImagePickerController und dann auf YouTube hochladen. Das Problem ist, dass die Videodatei dasUIImagePickerController schafft ist riesig, auch wenn das video nur 5 sekunden lang ist. Ein 5 Sekunden langes Video hat beispielsweise eine Größe von 16 bis 20 Megabyte. Ich möchte das Video in 540- oder 720-Qualität behalten, aber ich möchte die Dateigröße reduzieren.

Ich habe mit AVFoundation experimentiert undAVAssetExportSession um zu versuchen, eine kleinere Dateigröße zu bekommen. Ich habe den folgenden Code ausprobiert:

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

AberDies hat die Dateigröße überhaupt nicht reduziert. Ich weiß, was ich mache, weil in Apples Fotos App, wenn Sie auswählen"auf YouTube teilen", verarbeitet die Videodatei automatisch so, dass sie zum Hochladen klein genug ist. Ich möchte dasselbe in meiner App tun.

Wie kann ich das erreichen?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage