標籤:
視頻分享
想實現iPhone手機拍攝一段視頻,上傳到雲端分享給手機好友。
技術實現
視頻壓縮。iPhone拍攝的視頻很大,幾秒鐘就幾十兆檔案了,需要做壓縮,原來考慮用ffmpeg,安裝起來比較複雜,網上也有很多教程,不過在通過appstore審核的時候有一定風險。
首先是點擊開始錄製的代碼:
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; imagePicker.videoQuality = UIImagePickerControllerQualityTypeIFrame960x540;//視頻品質設定 imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; imagePicker.delegate = self; imagePicker.allowsEditing = YES; imagePicker.videoMaximumDuration = 300.0f;//設定最長錄製5分鐘 imagePicker.mediaTypes = [NSArray arrayWithObject:@"public.movie"]; [self presentViewController:imagePicker animated:YES completion:^{ }]; }
錄製完之後的回調方法:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL]; NSLog(@"------%@",url); NSString *appDocumentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; NSURL *uploadURL = [NSURL fileURLWithPath:[[appDocumentPath stringByAppendingPathComponent:[self dateString]] stringByAppendingString:@".mp4"]]; // Compress movie first [self convertVideoToLowQuailtyWithInputURL:url outputURL:uploadURL]; [self dismissViewControllerAnimated:YES completion:^{ }]; }
iOS視頻拍攝壓縮上傳和播放