首页 > 代码库 > 视频编码

视频编码

将摄像头录制的视频转换为mp4格式的代码:

      

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;        }    }];}



使用H.264视频编码(压缩)

    从简单来说H.264就是一种视频编码技术,与微软的WMV9都属于同一种技术也就是压缩动态图像数据的“编解码器”程序。
    一般来说,如果动态图像数据未经压缩就使用的话,数据量非常大,容易造成通信线路故障及数据存储容量紧张。因此,在发送动态图像时、或者      把影像内容保存在DVD上时、以及使用存储介质容量较小的数码相机或相机手机拍摄映像时,就必须使用编解码器。虽然编解码器有许多种类,        但DVD-Video与微波数字电视等使用的主要是MPEG2,数码相机等摄像时主要使用MPEG4。
   既然作为压缩视频编码技术,H.264最大的作用对视频的压缩了。我们熟悉的MPEG2也就是最常用的DVD视频编码技术已经比较落后。
   对于最希望看到的HDTV的节目如果播放时间在2小时左右的话,使用MPEG2最小只能压缩至30GB,而使用H.264、WMV9这样的高压缩率编解码    器,在画质丝毫不降的前提下可压缩到15GB以下。
 
 
 
 




视频编码