2012-01-27 4 views
1

保存した動画をiOSの写真ライブラリにフィルタリングする処理を行うにはどうすればよいですか?iOSで保存された動画のフィルタリング

私は、その後、AssetsLibraryフレームワークを使用して、ライブラリ内の動画のURLを、

を得たビデオのプレビューを行いました。

次のステップでは、CIFilterを使用してビデオのフィルタ処理を行いたいと考えています。

リアルタイムの問題が発生した場合は、AVCaptureVideoDataOutputSampleBufferDelegateを使用してビデオフィルタ処理を行いました。

しかし、保存されたビデオの場合、フィルタ処理の仕方はわかりません。

私はAVAssetを使用しますか?それを使用する必要がある場合は、どのようにフィルタリングできますか?どのようにそれを保存するには?

いつもありがとうございます。

+1

IDKを助けることを願っていますが、私は今、これに取り組んでいます! –

+0

ありがとうございます。このフレームワークをチェック!! http://www.sunsetlakesoftware.com/2012/02/12/introducing-gpuimage-framework –

+0

ええ、これも私が使ってきたことです...いくつかのものを追加しなければなりませんでしたが、それはgithub ^^ –

答えて

5

私はこれがあなたに

AVAsset *theAVAsset = [[AVURLAsset alloc] initWithURL:mNormalVideoURL options:nil]; 
     NSError *error = nil; 
     float width = theAVAsset.naturalSize.width; 
     float height = theAVAsset.naturalSize.height; 
     AVAssetReader *mAssetReader = [[AVAssetReader alloc] initWithAsset:theAVAsset error:&error]; 
     [theAVAsset release]; 




    NSArray *videoTracks = [theAVAsset tracksWithMediaType:AVMediaTypeVideo]; 
    AVAssetTrack *videoTrack = [videoTracks objectAtIndex:0]; 
    mPrefferdTransform = [videoTrack preferredTransform]; 


    NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey]; 
    AVAssetReaderTrackOutput* mAssetReaderOutput = [[AVAssetReaderTrackOutput alloc] initWithTrack:videoTrack outputSettings:options]; 

    [mAssetReader addOutput:mAssetReaderOutput]; 
    [mAssetReaderOutput release]; 


    CMSampleBufferRef buffer = NULL; 
    //CMSampleBufferRef buffer = NULL; 
    while ([mAssetReader status]==AVAssetReaderStatusReading){ 
      buffer = [mAssetReaderOutput copyNextSampleBuffer];//read next image. 
} 
+0

私にとっては十分です。ありがとうございました –

0

あなたはCVImageBufferRef pixBuf = CMSampleBufferGetImageBuffer(sbuf)を見てから、画像ポインタの先頭アドレスを持つことができますので、pixBufにフィルタを追加できますが、パフォーマンスが良くないことがわかります。私たちはそれについてさらに議論することができます。あまりにも...あなたは、私はそれを把握する場合、私は何を見つけるお知らせします

+0

私はGPUImageフレームワークを発見し、それは美しく動作します。このリンクを参照してくださいhttp://www.sunsetlakesoftware.com/2012/02/12/introducing-gpuimage-framework –