适用于iOS的可用视频录制格式

时间:2012-07-16 09:51:33

标签: iphone ios5 format video-capture

功能是从iPhone录制视频并将其上传到服务器,然后它应该与Android设备同步,并且应该可以在那里播放。从谷歌搜索我开始知道iPhone记录.mov文件。

我想知道的是,除了.mov之外还有其他格式可用,以便它可以在Android设备和服务器上播放。

感谢。

SDK: 5.0;    
Xcode: 4.2;
Devices: iPhone 4,4S, iPad2,3

2 个答案:

答案 0 :(得分:6)

.mov不是格式;它是一个容器文件。 iPhone使用流行的h.264编码器进行视频,然后将其(带有音频和数据)包含在.mov文件中,这是一种快速文件格式。您无法更改容器文件或iPhone使用的编码器。

您可以使用一些服务将视频文件从一种格式编码到另一种格式。看看zencoder和pandastream。

答案 1 :(得分:5)

确实有一种方法。您可以使用 AVAssetExportSession 类。 AVAssetExportSession对象具有名为 outputFileType 的属性,您可以将其设置为 AVFileTypeMPEG4 。 通过使用预设名称​​ AVAssetExportPresetPassthrough ,视频将不会被实际重新编码,但只是容器将更改为mp4(因此它将超快)。

AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset:#videoAsset# composition presetName:AVAssetExportPresetPassthrough];
exporter.outputFileType = AVFileTypeMPEG4;
exporter.outputURL = outputURL;

[exporter exportAsynchronouslyWithCompletionHandler:^(void){
    switch (exporter.status) {
        case AVAssetExportSessionStatusFailed:
            // Failed!
            break;
        case AVAssetExportSessionStatusCompleted:
            // Success!
            break;
        case AVAssetExportSessionStatusCancelled:
            // Cancelled!
            break;
    }
}];