インデックス

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

デジタル メディア ファイルを読み取るアプリケーションの一般的な要件は、コンテンツ内の特定のポイントをシークする機能です。 ファイル内のさまざまなストリームに同時開始時刻のサンプルが含まれているという保証がないため、シークが困難になる場合があります。 この問題は、インデックスを使用して解決 されます。 インデックスは、ビデオ サンプルとそのプレゼンテーション時間を同じ ASF ファイル内のオブジェクトです。 オーディオ データはビデオ データよりもプレゼンテーション時間と密接に結び付いているため、オーディオ ストリームにインデックスは必要ありません。

Windows Media Format SDK のインデクサー オブジェクトは、テンポラル インデックス、フレーム ベースのインデックス、SMPTE タイム コード インデックスの 3 種類のインデックスを作成できます。

テンポラル インデックスは最も一般的な型です。 ビデオ サンプルは、対応するプレゼンテーション時間と同じになります。

フレームベースのインデックスは、ビデオ サンプルとビデオ フレーム番号とプレゼンテーション時間を同じにします。 フレーム番号は、ビデオを編集するアプリケーションで特に便利です。

SMTPE タイム コード インデックスは、最もまれな種類のインデックスです。 インデックスの基礎として SMPTE タイム コードを使用し、サンプルに SMPTE タイム スタンプが含まれているストリームでのみ使用できます。 SMPTE タイム コードの詳細については、「 SMPTE タイム コードのサポート」を参照してください。

ASF ファイルには、そのファイルに含まれる各ビデオ ストリームの各種類のインデックスを含めることができます。 既定では、ライター オブジェクトによって作成されたファイル内のビデオ ストリームごとにテンポラル インデックスが含まれます。 ファイルの自動インデックス作成設定は、ニーズに合わせて変更できます。

ASF ファイルの機能

インデックスの使用

非同期リーダーを使用したファイルの読み取り

同期リーダーを使用したファイルの読み取り