0

コーデック領域とそれがどのように機能するかについて、より深く理解しようとしています。

主な原因は、再生できない特定のビデオに対処するためにコーデック パックをインストールすることの不確実性です。これは、後で他のコーデック パックをインストールすることで複雑になることがよくあります。また、コーデック パックを再インストールするだけで、コーデック パックを再インストールすると、以前は再生可能だったビデオが再生できなくなる場合があることにも気付きました。

私が最も興味を持っているのは、コーデック パック (Shark007、CCCP、K-Lite) がインストールされているときにバックグラウンドで何が起こっているかです。コーデックはさまざまなプレーヤー、特に Windows Media Player にどのように登録されますか? 新しいコーデックが追加される WMP 内部に既知のコーデックのリストはありますか? 特定のエンコーディング タイプ用の特定のコーデックがあるかどうかを確認するにはどうすればよいですか? DirectShow とそのフィルターは、新しいコーデックとどのように連携しますか?

私が見つけた情報のほとんどは非常にトップレベルであり、ほとんどのアドバイスはコーデックパックの設定をいじったり、他のコーデックパックをインストールしたりすることです.. :(

この分野に関する詳細情報 (書籍、リンクなど) に関するアドバイスや推奨事項は、大歓迎です。:)

4

1 に答える 1

3

Windowsで最も広く使用されているマルチメディアAPIはDirectShowであり、質問タグで示したように、おそらくそれを正確にターゲットにします。他のAPIもあります。重要な注意点は、DirectShowはWindows Media Playerの主要なAPIではないということです。WMPはMediaFoundationを介してファイルを再生しようとし、失敗した場合、2番目の試みはレガシーDirectShowを利用することです。それでも、DirectShowはアプリケーションで最も一般的に使用されています。

DirectShowでは、マルチメディアパイプラインは、ピンを介してグラフに接続されたフィルターから構築されます。接続された構造では、データがファイルからデバイスに配信されるデコードされたビデオ/オーディオなどにストリーミングされます。コーデックは、このパイプライン内で頻繁に使用されるコンポーネントです。

コーデックの登録は、FilterMapperサブシステムの権限の範囲です。すべての登録を処理し、Intelligent Connectの接続オプションを提供します。これは、必要なときにコーデックを提供し、アプリケーションがコーデックを自動的に提供するように要求するなど、データを相互に接続するサブシステムです。

あなたがMSDNのDirectShowの下で見つける内部の最高のドキュメント。

于 2012-04-16T10:07:55.577 に答える