2012-07-16 47 views
0

功能是從iPhone錄製視頻並將其上傳到服務器,然後它應該與android設備同步,並且應該可以在那裏播放。從谷歌搜索我開始知道iPhone記錄.mov文件。適用於iOS的可用視頻錄製格式

我想知道的是,如果除了.mov之外還有其他可用的格式,那麼它可以在Android設備以及服務器上播放。

謝謝。

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

回答

4

.mov不是格式;這是一個容器文件。 iPhone使用流行的h.264編碼器處理視頻,然後將其包含(帶有音頻和數據)到.mov文件中,這是一種快速文件格式。您無法更改iPhone使用的容器文件或編碼器。

有一些服務可以用來將視頻文件從一種格式編碼到另一種格式。看看zencoder和pandastream。

+2

感謝您的迴應,在我回復的2.5年後,我相信這在當時是準確的。 – 2014-11-21 17:30:47

+0

這是一個很好的答案,在發佈時是正確的。它包含了當時的所有相關信息。顯然,新的答案更好,因爲它匹配更新的功能。但查克w值得讚揚的信譽。 – 2017-05-12 01:25:21

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; 
    } 
}]; 
相關問題