5

mp4 ファイルをデコードし、ios アプリで OpenGL を使用して描画する必要があります。mp4 ファイルから h264 フレームを抽出してデコードする必要があり、CoreMedia を使用して何ができるかを聞きました。誰もそれを行う方法を知っていますか? CoreMedia の使用例はありますか?

4

1 に答える 1

9

あなたが探しているのは Core Media ではなく、AVFoundation です。特に、AVAssetReader を使用してムービーからロードし、フレームを反復処理します。その後、これらのフレームを OpenGL ES テクスチャとしてアップロードできますglTexImage2D()。これには、より高速なテクスチャ キャッシュを使用するか、(iOS 5.0 の場合) 使用します。

これを独自に実装したくない場合は、GPUImageフレームワーク内で OpenGL ES を介して AVFoundation ベースのムービーの読み込みと処理を行っています。GPUImageMovie クラスは、ムービーの読み取りとテクスチャへのアップロードのプロセスをカプセル化します。独自のシーンで使用するためにそのテクスチャを抽出したい場合は、それに GPUImageTextureOutput をチェーンできます。これらの両方のクラスの例は、フレームワーク配布内の SimpleVideoFileFilter および CubeExample サンプル アプリケーションで見つけることができます。

これを直接使用することも、GPUImageMovie クラス内で同じアクションを実行するために私が書いたコードを見ることもできます。

于 2012-04-04T17:58:33.377 に答える