Essayez ceci:
- (void)convertVideoToLowQuailtyWithInputURL:(NSURL*)inputURL
outputURL:(NSURL*)outputURL
handler:(void (^)(AVAssetExportSession*))handler
{
[[NSFileManager defaultManager] removeItemAtURL:outputURL error:nil];
AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:inputURL options:nil];
AVAssetExportSession *session = [[AVAssetExportSession alloc] initWithAsset: urlAsset presetName:AVAssetExportPresetLowQuality];
session.outputURL = storeVideo;
session.outputFileType = AVFileTypeQuickTimeMovie;
[session exportAsynchronouslyWithCompletionHandler:^(void)
{
handler(session);
}];
}
pour la cueillette vidéo de la galerie
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSURL *getVideo = [info objectForKey:UIImagePickerControllerMediaURL];
NSURL *storeVideo = [NSURL fileURLWithPath:@"/videos/welcome.mov"];
[self convertVideoToLowQuailtyWithInputURL:videoURL outputURL:outputURL handler:^(AVAssetExportSession *session)
{
if (session.status == AVAssetExportSessionStatusCompleted)
{
// Success
}
else
{
// Error Handing
}
}];
Utilisez l'article ci-dessous pour modifier la résolution:
UIImagePickerControllerQualityTypeHigh
UIImagePickerControllerQualityType640x480
UIImagePickerControllerQualityTypeMedium // default
UIImagePickerControllerQualityTypeLow
n'est pas plus facile, avant que les dossiers de la vidéo, choisissez la résolution et débit? – anvd
Merci pour la réponse rapide Fel, Comment puis-je choisir la résolution avant d'enregistrer la vidéo, actuellement j'utilise picker.videoQuality = UIImagePickerControllerQualityTypeLow et je reçois la taille 3MB pendant 1min, si j'utilise la qualité moyenne je reçois 13 Mo, j'ai besoin < 1 Mo ou 1,5 pour 1 min. –
duplication possible de [iPhone: compresser par programmation la vidéo enregistrée pour partager?] (Http://stackoverflow.com/questions/5687341/iphoneprogrammatically-compressing-recorded-video-to-share) – svmrajesh