功能是從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