功能是从iPhone录制视频并将其上传到服务器,然后它应该与Android设备同步,并且应该可以在那里播放。从谷歌搜索我开始知道iPhone记录.mov文件。
我想知道的是,除了.mov之外还有其他格式可用,以便它可以在Android设备和服务器上播放。
感谢。
SDK: 5.0;
Xcode: 4.2;
Devices: iPhone 4,4S, iPad2,3
答案 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;
}
}];