概述
NSURL*videoUrl = mediaURL;
/**
* mov格式转mp4格式
*/
AVURLAsset*avAsset = [AVURLAssetURLAssetWithURL:[NSURLfileURLWithPath:videoUrl.absoluteString]options:nil];
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:avAsset presetName:AVAssetExportPresetMediumQuality];
NSArray*compatiblePresets = [AVAssetExportSessionexportPresetsCompatibleWithAsset:avAsset];
/**
AVAssetExportPresetMediumQuality 表示视频的转换质量,
*/
if([compatiblePresetscontainsObject:AVAssetExportPresetMediumQuality]) {
NSURL*newVideoUrl ;//一般.mp4
NSDateFormatter *formater = [[NSDateFormatter alloc] init];//用时间给文件全名,以免重复,在测试的时候其实可以判断文件是否存在若存在,则删除,重新生成文件即可
[formatersetDateFormat:@"yyyy-MM-dd-HH:mm:ss"];
newVideoUrl = [NSURL fileURLWithPath:[NSHomeDirectory() stringByAppendingFormat:@"/Documents/output-%@.mp4", [formater stringFromDate:[NSDate date]]]] ;
exportSession.outputURL= newVideoUrl;
//要转换的格式,这里使用 MP4
exportSession.outputFileType=AVFileTypeMPEG4;
//转换的数据是否对网络使用优化
exportSession.shouldOptimizeForNetworkUse=YES;
//异步处理开始转换
[exportSessionexportAsynchronouslyWithCompletionHandler:^(void)
{
//转换状态监控
switch(exportSession.status) {
case AVAssetExportSessionStatusUnknown:
NSLog(@"AVAssetExportSessionStatusUnknown");
break;
case AVAssetExportSessionStatusWaiting:
NSLog(@"AVAssetExportSessionStatusWaiting");
break;
case AVAssetExportSessionStatusExporting:
NSLog(@"AVAssetExportSessionStatusExporting");
break;
case AVAssetExportSessionStatusFailed:
NSLog(@"AVAssetExportSessionStatusFailed");
break;
case AVAssetExportSessionStatusCancelled:
NSLog(@"AVAssetExportSessionStatusCancelled");
break;
case AVAssetExportSessionStatusCompleted:
{
//转换完成
NSLog(@"AVAssetExportSessionStatusCompleted");
break;
}
}
}];
}
最后
以上就是饱满曲奇为你收集整理的android ios mp4格式转换,ios 开发 视频格式转换、mov转MP4的全部内容,希望文章能够帮你解决android ios mp4格式转换,ios 开发 视频格式转换、mov转MP4所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复