コンテンツのバッファリング
リーダー オブジェクトは、ストリーミング ファイルを開くと、ファイルのヘッダーの設定に基づいてバッファーのサイズを決定します。 バッファーは、一定の速度で漏れる底に穴があるバケットと考えることができます。 バケットが充填される速度が、漏れ発生率よりも平均して大きくなっていない限り、バケットはオーバーフローしません。
虚数バケットがリークするレートは、ストリームのビット レートです。 バケットがいっぱいになるレートは、実際のストリーミング ビット レートです。 圧縮ストリーム内のデータは、達成された圧縮の量に応じて、サンプルごとにサイズが異なります。 したがって、ストリームのビットレートがプロファイルに設定されていても、定数ではなく平均ビットレートを表します。
バッファリング プロセスにとって重要なもう 1 つのストリーム設定は、バッファー ウィンドウです。 バッファー ウィンドウは時間単位で測定され、バッファーできるコンテンツの量を指定します。 虚数バケットの容量は、バッファー ウィンドウを使用して確認できます。 たとえば、ビット レートが 32 Kbps でバッファー ウィンドウが 3 秒のストリームがある場合、バッファーのサイズは 32 Kbps コンテンツの 3 秒、または 12,000 バイト (32,000 ビット/秒 x 3 秒/バイトあたり 8 ビット) を保持するように設定されます。 コーデックは、エンコードされたサンプルの実際のストリーミング ビット レート間の変動を制限して、バッファー ウィンドウと等しい期間にわたって、平均ビット レートがストリームのビット レートを超えないようにします。
通常は、プロファイル内のストリームのビット レートとバッファー ウィンドウを設定し、ライターが残りの部分を処理します。 ただし、圧縮されたサンプルをリーダーに渡す場合は、転送先プロファイルのストリームのビット レートとバッファー ウィンドウを圧縮ストリームの値に設定して、正しい値が新しいファイルに転送されるようにする必要があります。
関連トピック