我是靠谱客的博主 阔达星星,最近开发中收集的这篇文章主要介绍iOS开发 mov视频文件转换成其他视频文件格式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

业务需求:移动端拍摄视频并上传。

问题:使用系统自带的拍摄组件UIImagePicker拍摄的视频为苹果公司特有的.mov格式文件,上传到服务器端后,使用安卓客户端播放视频的效果并不友好。

解决方法:视频统一转换为MPEG4格式后再上传

代码示例:

- (void)movFileTransformToMP4WithSourceUrl:(NSURL *)sourceUrl completion:(void(^)(NSString *Mp4FilePath))comepleteBlock
{
/**
*
mov格式转mp4格式
*/
AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:sourceUrl options:nil];
NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];
NSLog(@"%@",compatiblePresets);
if ([compatiblePresets containsObject:AVAssetExportPresetHighestQuality]) {
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:avAsset presetName:AVAssetExportPresetMediumQuality];
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyyMMddHHmmss"];
NSString *uniqueName = [NSString stringWithFormat:@"%@.mp4",[formatter stringFromDate:date]];
NSString * resultPath = [PATH_OF_DOCUMENT stringByAppendingPathComponent:uniqueName];//PATH_OF_DOCUMENT为documents路径
NSLog(@"output File Path : %@",resultPath);
exportSession.outputURL = [NSURL fileURLWithPath:resultPath];
exportSession.outputFileType = AVFileTypeMPEG4;//可以配置多种输出文件格式
exportSession.shouldOptimizeForNetworkUse = YES;
[exportSession exportAsynchronouslyWithCompletionHandler:^(void)
{
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
switch (exportSession.status) {
case AVAssetExportSessionStatusUnknown:
//
NSLog(@"AVAssetExportSessionStatusUnknown");
CLOUDMESSAGETIPS(@"视频格式转换出错Unknown", 0.8); //自定义错误提示信息
break;
case AVAssetExportSessionStatusWaiting:
//
NSLog(@"AVAssetExportSessionStatusWaiting");
CLOUDMESSAGETIPS(@"视频格式转换出错Waiting", 0.8);
break;
case AVAssetExportSessionStatusExporting:
//
NSLog(@"AVAssetExportSessionStatusExporting");
CLOUDMESSAGETIPS(@"视频格式转换出错Exporting", 0.8);
break;
case AVAssetExportSessionStatusCompleted:
{
//
NSLog(@"AVAssetExportSessionStatusCompleted");
comepleteBlock(resultPath);
NSLog(@"mp4 file size:%lf MB",[NSData dataWithContentsOfURL:exportSession.outputURL].length/1024.f/1024.f);
}
break;
case AVAssetExportSessionStatusFailed:
//
NSLog(@"AVAssetExportSessionStatusFailed");
CLOUDMESSAGETIPS(@"视频格式转换出错Unknown", 0.8);
break;
case AVAssetExportSessionStatusCancelled:
//
NSLog(@"AVAssetExportSessionStatusFailed");
CLOUDMESSAGETIPS(@"视频格式转换出错Cancelled", 0.8);
break;
}
}];
}
}


最后

以上就是阔达星星为你收集整理的iOS开发 mov视频文件转换成其他视频文件格式的全部内容,希望文章能够帮你解决iOS开发 mov视频文件转换成其他视频文件格式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部