iOS~视频编码转换

在iOS中,摄像头录制的视频是mov格式的,虽然mov兼容mp4,但是有些需求需要用到mp4格式的视频文件。在翻边了stackoverflow之后找到了一段转换视频格式的代码。以此记录一下。

 

AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:path] options:nil];
NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];

if ([compatiblePresets containsObject:AVAssetExportPresetLowQuality])

{

AVAssetExportSession *exportSession = [[AVAssetExportSession alloc]initWithAsset:avAsset presetName:AVAssetExportPresetPassthrough];
    NSString *exportPath = [NSString stringWithFormat:@"%@/%@.mp4",
                            [NSHomeDirectory() stringByAppendingString:@"/tmp"],
                            @"1"];
    exportSession.outputURL = [NSURL fileURLWithPath:exportPath];
    NSLog(@"%@", exportPath);
    exportSession.outputFileType = AVFileTypeMPEG4;
    [exportSession exportAsynchronouslyWithCompletionHandler:^{

        switch ([exportSession status]) {
            case AVAssetExportSessionStatusFailed:
                NSLog(@"Export failed: %@", [[exportSession error] localizedDescription]);
                break;
            case AVAssetExportSessionStatusCancelled:
                NSLog(@"Export canceled");
                break;
                case AVAssetExportSessionStatusCompleted:
                NSLog(@"转换成功");
                break;
            default:
                break;
        }
    }];
}

posted on 2015-11-02 15:56  kevingod  阅读(3184)  评论(0编辑  收藏  举报

导航