私の問題は単純です。ビデオの各フレームを処理する必要があります。このプロセスでは、元のフレームでトリミングするゾーンを計算します。パフォーマンスを向上させるには、元のフレームを縮小する必要があります。今日では、専用のライブラリのおかげでそれが行われます。ただし、遅いです。OpenGL ES 2.0 glslのおかげで、このフレームをダウンスケールする可能性があるかどうか疑問に思っています。
デビッド
私の問題は単純です。ビデオの各フレームを処理する必要があります。このプロセスでは、元のフレームでトリミングするゾーンを計算します。パフォーマンスを向上させるには、元のフレームを縮小する必要があります。今日では、専用のライブラリのおかげでそれが行われます。ただし、遅いです。OpenGL ES 2.0 glslのおかげで、このフレームをダウンスケールする可能性があるかどうか疑問に思っています。
デビッド
AV Foundationを使用してディスクからビデオをロードしたり、カメラからビデオをプルしたりしている場合は、オープンソースのGPUImageフレームワークを使用して、基盤となるOpenGLES処理を処理できます。
具体的には、GPUImageCropFilterを使用して、CGRectの正規化された0.0〜1.0座標を使用して、入力ビデオの選択された領域を切り抜くことができます。FilterShowcaseの例は、これがカメラからのライブビデオに対して実際にどのように機能するかを示しています。これにより、必要がない場合は、手動のOpenGLESAPI呼び出しに触れる必要がなくなります。
最後に、フレーム バッファ オブジェクトを使用してテクスチャをレンダリングします。ビューポートを目的のサイズに設定し、通常どおりテクスチャをレンダリングします。ダウンサンプリングされた画像を取得するには、glGetReadPixels を使用します。
デビッド