1

おそらくdirectshowフィルターを使用して、生の画像をWindowsのaviファイルにエンコードする作業を行っています。使用するコーデックのタイプはユーザーが選択します。私はすでに、データを圧縮してファイルに書き込むためのシンプルなAPIを提供するので、Windows用のビデオ(VFW)を使用して同様のことを行いました。今回は、directshow サポートを提供するために、directshow フレームワークを使用してこれを行いたいと考えています。

ただし、MSDN を確認しているときに、コーデックごとにさまざまな種類のフィルターがあることがわかったので、単一のインターフェイスはありません。 http://msdn.microsoft.com/en-us/library/windows/desktop/dd375464(v=vs.85).aspx コーデックを切り替えるたびに異なるフィルターを切り替える必要がありますか。

また、MSDN によると、DMO が Directshow とどのように異なるかについても、エンコードに使用できます。 http://msdn.microsoft.com/en-us/library/windows/desktop/ff819088(v=vs.85).aspx

では、最大数のコーデックをサポートするにはどれを使用すればよいでしょうか?

あなたの考えを共有してください。

4

1 に答える 1

3

API開発の過程でいくつかのAPIがあったため、さまざまなインターフェイスでさまざまなコーデックを使用できます。

  • Video for Windows VCM ビデオ エンコーダーがあります
  • ビデオエンコーディングDMOがあります
  • ビデオ エンコーディング MFT があります (デュアル DMO/MFT オブジェクトの可能性があるものもあります)。
  • ビデオエンコーディングDirectShowフィルターがあります

つまり、DirectShow ではほとんどのエンコーダーがすぐに利用できるということです。

コーデックの特異性と適用性、エンコーディング/コンテナーの制約、適切なエンコーダーが通常自由に利用できないという事実などのその他の要因 - これらすべてが、さまざまなビデオ エンコーダーと連携できるようにアプリを設計する際のアプローチの使用と価値を大幅に制限します。標準のよく知られているインターフェイス/API を介して、ユーザーが選択できます。

于 2013-09-06T08:10:52.707 に答える