0

機能は、iPhoneからビデオを録画してサーバーにアップロードし、Androidデバイスと同期して、そこで再生できるようにすることです。グーグル検索から、iPhoneが.movファイルを記録していることがわかりました。

私が知りたいのは、サーバーだけでなくAndroidデバイスでも再生できるように.mov以外の形式が利用できるかどうかです。

ありがとう。

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

2 に答える 2

6

.mov は形式ではありません。コンテナファイルです。iPhone はビデオに一般的な h.264 エンコーダを使用し、それを (オーディオとデータと共に) .mov ファイル (quicktime ファイル形式) に格納します。コンテナー ファイルや iPhone で使用されるエンコーダーを変更する方法はありません。

ビデオ ファイルをある形式から別の形式にエンコードするために使用できるサービスがあります。Zencoder と pandastream をチェックしてください。

于 2012-08-11T06:28:44.363 に答える
5

確かに方法があります。クラス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;
    }
}];
于 2013-03-08T17:46:56.957 に答える