次の方法で共有


ASF ファイルへのネイティブ ストリーム形式の挿入 (QASF)

[このページに関連付けられている機能である Windows Media Format 11 SDK は、レガシ機能です。 これは、ソース リーダーシンク ライターによって置き換えられます。 ソース リーダーシンク ライターは、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、Windows Media Format 11 SDK ではなくソース リーダーシンク ライターを使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

WM ASF ライター では、既定では、入力ピンに圧縮されていないオーディオ ストリームとビデオ ストリームが必要であり、Windows Media Format SDK を使用して、ストリームを圧縮する Windows Media Audio コーデックと Windows Media Video コーデックにアクセスします。 ただし、ASF ファイル コンテナーは、任意の種類のデータに使用できます。 デジタル メディア データを ASF ファイル コンテナーに配置することで、コンテンツをトランスコードすることなく、メタデータやデジタル著作権管理 (DRM) などの ASF によって提供される機能を追加できます。

Windows Media ベースではないコンテンツを含む ASF ファイルを作成するには、次のように IConfigAsfWriter2::SetParam を呼び出して、WM ASF ライターのアップストリームにあるフィルター グラフ内のストリームを圧縮し、WM ASF ライターの圧縮メカニズムをバイパスする必要があります。

pConfigAsfWriter2->SetParam(AM_CONFIGASFWRITER_PARAM_DONTCOMPRESS,TRUE,0)

次に、目的のプロファイルを使用してフィルターを構成します。 入力ストリームのメディアの種類がプロファイルの形式と完全に一致することが不可欠です。 場合によっては、入力ストリームの形式を調べて、それに一致するカスタム プロファイルを作成することが必要になる場合があります。 詳細については、「 サードパーティ製コーデックを使用して ASF ファイルを作成するには」を参照してください。

WM ASF ライターをアップストリーム フィルターに接続する場合は、 IGraphBuilder::ConnectDirect メソッドを使用します。 IGraphBuilder::Connect や IGraphBuilder::RenderFile などの "インテリジェント接続" メソッドを使用してフィルターを接続しないでください。これは、フィルターの "圧縮のバイパス" モードが無効になるためです。