1

iOS デバイスでリアルタイム ビデオをダウンサンプリングしようとしています (たとえば、1 秒おきのピクセルを取得します)。1 つの条件は、60 fps で実行することです。

解像度が低下する可能性があり、ビデオ画面のビューは小さな長方形 (約 200x200px) しか表示できません。結果は画面上でプレビューする必要があります。

私は 2012 年 WWDC の優れた RosyWriter の例を出発点として使用してきました。しかし、何時間も検索した後、すでに同じことを行っている人のチュートリアルや github プロジェクトを 1 つも見つけることができず、これを行う方法を説明できます。関連するすべての質問を StackOverflow で何度もスクリーニングしましたが、成功しませんでした。コードサンプル、良い答え、またはこのテーマに関するチュートリアルへのクイックリファレンスを探しています。

関連するが未回答の質問:

4

1 に答える 1

1

GPUImageのSimpleVideoFilterの例を見てください

次に、プレビューを取得するために、次のようなものでセピアフィルターを削除します。

videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
GPUImageView *filterView = (GPUImageView *)self.view;
[videoCamera addTarget:filterView];
[videoCamera startCameraCapture];

これは、ブラッドがコメントで提案していることの始まりです。

videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
GPUImageLanczosResamplingFilter* filter = [[GPUImageLanczosResamplingFilter alloc] init];
GPUImageView *filterView = (GPUImageView *)self.view;
[videoCamera addTarget:filter];
[filter forceProcessingAtSize:self.view.frame.size];
[filter addTarget:filterView];    
[videoCamera startCameraCapture];

フィルタからの出力もGPUImageMovieWriterに送信されます。SimpleVideoFilterの例がそれをカバーしています。

于 2013-03-03T01:14:12.143 に答える