您的位置:首页 > 移动开发 > IOS开发

iOS开发-进阶:MOV格式视频转MP4格式

2016-01-27 11:41 495 查看
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];

NSDateFormatter *formater = [[NSDateFormatter alloc] init];//用时间给文件全名,以免重复

[formater setDateFormat:@"yyyy-MM-dd-HH:mm:ss"];

NSString * resultPath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/output-%@.mp4", [formater stringFromDate:[NSDate date]]];

NSLog(@"resultPath = %@",resultPath);

exportSession.outputURL = [NSURL fileURLWithPath:resultPath];

exportSession.outputFileType = AVFileTypeMPEG4;

exportSession.shouldOptimizeForNetworkUse = YES;

[exportSession exportAsynchronouslyWithCompletionHandler:^(void)

{

switch (exportSession.status) {

case AVAssetExportSessionStatusUnknown:

NSLog(@"AVAssetExportSessionStatusUnknown");

break;

case AVAssetExportSessionStatusWaiting:

NSLog(@"AVAssetExportSessionStatusWaiting");

break;

case AVAssetExportSessionStatusExporting:

NSLog(@"AVAssetExportSessionStatusExporting");

break;

case AVAssetExportSessionStatusCompleted:

NSLog(@"AVAssetExportSessionStatusCompleted");

break;

case AVAssetExportSessionStatusFailed:

NSLog(@"AVAssetExportSessionStatusFailed");

break;

}

}];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: