UIImagePickerController를 사용하여 비디오를 녹화하고 있는데 문제는 안드로이드 호환성을위한 mov 형식의 비디오를 녹화하는 것입니다.Mp4 형식의 비디오 캡처
다음 코드를 사용하여 비디오를 mp4 형식으로 변환해야하는데 문제는 약 30 초에서 35 초 정도 소요되는 6 초의 비디오 시간입니다. 직접 mp4 형식 또는 더 빠른 방법으로 비디오를 녹화 할 수있는 솔루션은 큰 도움이 될 것입니다. 당신이 AVURLAsset
를 사용하여 라이브러리/앨범에서 비디오를로드 할 때 시간이 걸립니다
-(void)movToMp4:(NSURL *)videoURL{ // method for mov to mp4 conversion
AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:videoURL options:nil];
NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];
if ([compatiblePresets containsObject:AVAssetExportPresetLowQuality])
{
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc]initWithAsset:avAsset presetName:AVAssetExportPresetPassthrough];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* videoPath = [NSString stringWithFormat:@"%@/xyz.mp4", [paths objectAtIndex:0]];
exportSession.outputURL = [NSURL fileURLWithPath:videoPath];
exportSession.outputFileType = AVFileTypeMPEG4;
[exportSession exportAsynchronouslyWithCompletionHandler:^{
switch ([exportSession status]) { // switch case to get completion case where i put my delegate
return;
break;
case AVAssetExportSessionStatusCompleted: {
[self.delegate mp4Response:videoPath];
break;
}
}
}
}];
}
}
들여 쓰기가 쉬운 코드 들여 쓰기를 수정하고 게시물 편집 도구 모음에서 "코드"버튼을 사용하여 읽기 쉽게하십시오. – AFract
코드를 포함하여 처음으로 죄송합니다. :) –