機能は、iPhoneからビデオを録画してサーバーにアップロードし、Androidデバイスと同期して、そこで再生できるようにすることです。グーグル検索から、iPhoneが.movファイルを記録していることがわかりました。
私が知りたいのは、サーバーだけでなくAndroidデバイスでも再生できるように.mov以外の形式が利用できるかどうかです。
ありがとう。
SDK: 5.0;
Xcode: 4.2;
Devices: iPhone 4,4S, iPad2,3
機能は、iPhoneからビデオを録画してサーバーにアップロードし、Androidデバイスと同期して、そこで再生できるようにすることです。グーグル検索から、iPhoneが.movファイルを記録していることがわかりました。
私が知りたいのは、サーバーだけでなくAndroidデバイスでも再生できるように.mov以外の形式が利用できるかどうかです。
ありがとう。
SDK: 5.0;
Xcode: 4.2;
Devices: iPhone 4,4S, iPad2,3
.mov は形式ではありません。コンテナファイルです。iPhone はビデオに一般的な h.264 エンコーダを使用し、それを (オーディオとデータと共に) .mov ファイル (quicktime ファイル形式) に格納します。コンテナー ファイルや iPhone で使用されるエンコーダーを変更する方法はありません。
ビデオ ファイルをある形式から別の形式にエンコードするために使用できるサービスがあります。Zencoder と pandastream をチェックしてください。
確かに方法があります。クラスAVAssetExportSessionを使用できます。AVAssetExportSessionオブジェクトには、 AVFileTypeMPEG4に設定できるoutputFileTypeというプロパティがあります。プリセット名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;
}
}];