1

動画ファイルを再生し、MTAudioProcessingTap を使用していくつかの興味深いことを行う iOS アプリを構築しようとしています。Apple がサポートしていないものも含めて、あらゆる種類のフォーマットを再生できるようにする必要があります。VLC からの分岐を考えていますが、それがコア オーディオ/ビデオを使用しているかどうか、または別のものを完全に実行しているかどうかはわかりません。

そうでない場合、そこで使用されている 203572964 コーデックを処理するために使用できるライブラリはありますか?

ありがとう。

4

2 に答える 2

1

予備的な注意: 私は VLC for iOS の開発者であるため、次の内容は偏っている可能性があります。

MobileVLCKit for iOS には、2 つの異なるオーディオ出力モジュールが含まれています。それらの 1 つは AudioQueue に基づく高レベルのモジュールで、かなり複雑ではありますが少し遅いです。もう 1 つは、CoreAudio の低レベル フレームワークである AudioUnit に基づいており、かなり複雑ですが、はるかに高速です。現在の経験に応じて、どちらのモジュールも開始するのに適しています。

すべてのコーデックをサポートする 1 つのライブラリについて: 基本的に、同じライブラリの 2 つのフォークがあります: libav と FFmpeg です。VLC はフレーバーをサポートし、複雑さと絶え間なく変化する API を抽象化します (これらのライブラリの複数のリリースにわたってアプリを維持し続ける場合、これは非常に困難です)。さらに、シェーダーを使用してクロマ通信を行う、非常に優れたパフォーマンスの OpenGL ES 2 ビデオ出力モジュールが含まれています。必要なのは、UIView を埋め込むことだけです。MobileVLCKit が残りを処理します。

MobileVLCKit といえば、これは libvlc の上にある薄い ObjC レイヤーであり、最も一般的に使用される機能を抽象化することにより、サードパーティ アプリケーションでのこのライブラリの使用を簡素化します。

HalR が暗に述べているように、libvlc は iOS でハードウェア アクセラレーションによるデコードをまだ使用していません。libav の開発者と一緒に一般的なアプローチに取り組んでいますが、まだ完全には達成されていません。したがって、CPU ですべてのデコードを行う必要があります。これにより、熱が発生しますが、デフォルトの高速化された API を使用して、H264/MP4 の代わりに事実上何でも再生できます。

于 2013-10-12T18:36:03.103 に答える