2012-01-13 24 views
1

iPhoneにAVfoundationを使用してビデオを圧縮する圧縮技術はありますか?または任意のオープンソース。iOSでAVFoundationを使用してビデオを圧縮する方法

よろしく、 Jeeva

+1

Aを助ける)あなたの質問?あなたがやろうとしているもの(十分な詳細を持っていないが、これはローカルストレージまたはネットワーク経由で送信またはのために圧縮されていますか? )、B)データにはさまざまな圧縮技術があります。これまでにGoogleでグーグルしたことはありますか? –

+0

[AVFoundationフレームを使用したAvdioとビデオの録画]の複製が可能です(http://stackoverflow.com/questions/8046102/recording-avdio-and-video-using-avfoundation-frame-by-frame) –

答えて

0

はい、それはAVAssetWriterと呼ばれています。例を探してみてください。ここで答えとして一貫した作業コードを与えるのは難しいです。

+7

"Here"人々が答えに来る場所です。 – mpemburn

+1

@mpemburnそれは正しいです、 "本当の質問"への回答 – mvds

7

これを試してみてください:)

+ (void)convertVideoToLowQualityWithInputURL:(NSURL*)inputURL outputURL:(NSURL*)outputURL successHandler:(void (^)())successHandler failureHandler:(void (^)(NSError *))failureHandler 
{ 
    if([[NSFileManager defaultManager] fileExistsAtURL:outputURL]) [[NSFileManager defaultManager] removeItemAtURL:outputURL error:nil]; 
    AVURLAsset *asset = [AVURLAsset URLAssetWithURL:inputURL options:nil]; 
    AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetLowQuality]; 
    exportSession.outputURL = outputURL; 
    exportSession.outputFileType = AVFileTypeQuickTimeMovie; 
    [exportSession exportAsynchronouslyWithCompletionHandler: ^(void) { 
     if (exportSession.status == AVAssetExportSessionStatusCompleted) 
     { 
      successHandler(); 
     } 
     else 
     { 
      NSError *error = [NSError errorWithDomain:domain code:code userInfo:userInfo]; 
      failureHandler(error); 
     } 
    }]; 
} 
+0

私は少し全部が大失敗障害者である理由について少し混乱しています。 – MrTristan

+0

トリスタン氏はどういう意味ですか? – KPM

+0

絶対に何もないと思います。申し訳ありませんが、複雑なメソッドの署名が私を少し混乱させました。私は最後にブロックを見ていると思っていましたが、ここのコードはすべて「失敗ハンドラブロック」の一部でした。私の最後の誤解:-) – MrTristan

関連する問題