功能是从iPhone录制视频并将其上传到服务器,然后它应该与android设备同步,并且应该可以在那里播放。从谷歌搜索我开始知道iPhone记录.mov文件。适用于iOS的可用视频录制格式
我想知道的是,如果除了.mov之外还有其他可用的格式,那么它可以在Android设备以及服务器上播放。
谢谢。
SDK: 5.0;
Xcode: 4.2;
Devices: iPhone 4,4S, iPad2,3
功能是从iPhone录制视频并将其上传到服务器,然后它应该与android设备同步,并且应该可以在那里播放。从谷歌搜索我开始知道iPhone记录.mov文件。适用于iOS的可用视频录制格式
我想知道的是,如果除了.mov之外还有其他可用的格式,那么它可以在Android设备以及服务器上播放。
谢谢。
SDK: 5.0;
Xcode: 4.2;
Devices: iPhone 4,4S, iPad2,3
.mov不是格式;这是一个容器文件。 iPhone使用流行的h.264编码器处理视频,然后将其包含(带有音频和数据)到.mov文件中,这是一种快速文件格式。您无法更改iPhone使用的容器文件或编码器。
有一些服务可以用来将视频文件从一种格式编码到另一种格式。看看zencoder和pandastream。
确实有一种方法。您可以使用类别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;
}
}];
感谢您的回应,在我回复的2.5年后,我相信这在当时是准确的。 – 2014-11-21 17:30:47
这是一个很好的答案,在发布时是正确的。它包含了当时的所有相关信息。显然,新的答案更好,因为它匹配更新的功能。但查克w值得赞扬的信誉。 – 2017-05-12 01:25:21