最高のビデオシークパフォーマンスを得る

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

ファイル内のコンテンツを探す操作は、パフォーマンスの問題になる可能性がある非常に一般的な操作です。 Windows Media Video 9 コーデックでエンコードされたビデオは、主に差分フレームで構成され、前のフレームとの関係での変更のみが記録されます。 特にキー フレームが離れている場合は、デルタ フレームの再構築に時間がかかります。 効率的なシークのためのキー フレームの構成の詳細については、「パフォーマンスをシーク するためのビデオ ストリームの構成」を参照してください。

適切な構成に加えて、ビデオ ストリームのフレーム インデックス作成を使用してシークパフォーマンスを向上させることができます。 通常、フレーム番号のシークは、プレゼンテーション時間を求めるよりも高速です。

複数のストリームを含むファイルでシークする場合は、必要なストリームのみを選択する必要があります。 読み取り用に構成された各ストリームはシークのパフォーマンスに影響します。ファイル内のポイントをシークすると、選択したすべてのストリームが同期されるためです。

ASF ファイルの読み取り

非同期リーダーを使用してフレーム番号でシークするには

同期リーダーを使用してフレーム番号でシークするには

非同期リーダーを使用して時間でシークするには

同期リーダーを使用して時間でシークするには