クライアントからの高速キャッシュ ストリーミングの有効化
[このページに関連付けられている機能である Windows Media Format 11 SDK は、従来の機能です。 ソース リーダーとシンク ライターに置き換わりました。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 Microsoft では、可能であれば、新しいコードで Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
Fast Cache は、サーバーが再生に必要なビット レートよりも高いビット レートでコンテンツを日和見的にストリーミングするストリーミング テクノロジです。
使用可能な帯域幅がコンテンツのビット レートより高い場合、高速キャッシュは高いレートでストリームし、コンテンツをバッファーします。 これは、ネットワークが混雑した場合の中断を後で減らすのに役立ちます。 ネットワーク帯域幅がコンテンツのビット レートより低い場合、高速キャッシュは再生を開始する前にデータの一部をバッファーに格納します。 高速キャッシュは、ワイヤレス ネットワークなどの信頼性の低いネットワーク、またはケーブル モデムなどのネットワーク トラフィックに大きな変動が発生するネットワークに推奨されます。 また、可変ビット レート (VBR) コンテンツにも推奨されます。 VBR コンテンツの帯域幅要件は一定ではなく、高速キャッシュを使用すると、低速ビット レートの部分でリーダーがストリームをバッファーできます。
高速キャッシュ ストリーミングは、オンデマンド コンテンツに対してのみサポートされます。 さらに、高速キャッシュ ストリーミングを使用するようにサーバーを構成する必要があります。
リーダー オブジェクトで高速キャッシュを有効にするには、値 TRUE を指定して IWMReaderNetworkConfig2::SetEnableContentCaching メソッドと IWMReaderNetworkConfig2::SetEnableFastCache メソッドを呼び出します。 最初のメソッドを使用すると、リーダーはストリーミングされたコンテンツをキャッシュできます。 2 つ目は、特に高速キャッシュを使用できるようにします。
これらの設定では、ネットワーク帯域幅がコンテンツのビット レートより大幅に高いか低い場合、およびサーバーでサポートされている場合は、既定で高速キャッシュがアクティブ化されます。 ユーザーは、次の修飾子の 1 つ以上を URL に追加することで、リーダー オブジェクトが Fast Cache を使用するかどうかを制御することもできます。
修飾子 | 説明 |
---|---|
WMCache | この修飾子が存在する場合、値 '0' は高速キャッシュを明示的に無効にし、値 '1' は明示的に有効にします。 |
WMBitrate | この修飾子は、サーバーからの最大ビット レートを指定します。 この修飾子を使用して、高速キャッシュを特定の帯域幅制限に制限できます。 IWMReaderNetworkConfig::SetConnectionBandwidth の呼び出しで明示的な接続帯域幅が既に設定されている場合、この修飾子は無視されます。 |
WMContentBitrate | この修飾子は、コンテンツのビット レートを指定します。 リーダーは、複数ビット レート (MBR) ファイルからストリームを選択するときに、この修飾子 (存在する場合) を使用します。 これにより、低速接続でリーダーが高ビット レートコンテンツを受信し、バッファー時間と遅延が非常に長くなる可能性があります。 |
修飾子 WMCache=1 は、ネットワーク バンドとコンテンツのビット レートに関係なく、 SetEnableFastCache の以前の呼び出しに関係なく、リーダーに高速キャッシュ ストリーミングを強制的に使用させます。 ただし、リーダーの SetEnableContentCaching 設定は オーバーライドされません。また、サーバー構成をオーバーライドすることはありません。
URL 修飾子の形式は次のとおりです。
url?修飾子=値
次に例を示します。
mms://MyServer/MyVideo.wmv?WMCache=1
複数の修飾子を指定できます。アンパサンド (&) を使用して区切る:
&mms://MyServer/MyVideo.wmv?WMCache=1 WMContentBitrate=56000