Puffern von Inhalt
Wenn das Readerobjekt eine Streamingdatei öffnet, bestimmt es die Größe des Puffers basierend auf den Einstellungen im Header der Datei. Sie können sich den Puffer als Bucket mit einer Lücke im unteren Bereich mit konstanter Geschwindigkeit lecksen. Solange die Rate, mit der der Bucket gefüllt wird, im Durchschnitt nicht größer als die Rate ist, mit der er ausläuft, überläuft der Bucket nie.
Die Rate, mit der der imaginäre Bucket ausficht, ist die Bitrate des Streams. Die Rate, mit der der Bucket auffüllt, ist die tatsächliche Streamingbitrate. Die Daten in einem komprimierten Datenstrom variieren je nach erreichter Komprimierungsmenge von Stichproben zu Stichprobe. Obwohl die Bitrate des Streams im Profil festgelegt ist, stellt sie daher die durchschnittliche Bitrate und keine Konstante dar.
Die andere stream-Einstellung, die für den Pufferprozess wichtig ist, ist das Pufferfenster. Das Pufferfenster wird in der Zeit gemessen und gibt an, wie viel Inhalt gepuffert werden kann. Die Kapazität des imaginären Buckets kann über das Pufferfenster gefunden werden. Wenn Sie beispielsweise über einen Stream mit einer Bitrate von 32 KBit/s und einem Pufferfenster von 3 Sekunden verfügen, wird der Puffer so dimensioniert, dass er 3 Sekunden mit 32 KBit/s-Inhalt oder 12.000 Bytes (32.000 Bits pro Sekunde x 3 Sekunden/8 Bits pro Byte) enthält. Der Codec schränkt die Variation zwischen der tatsächlichen Streamingbitrate codierter Stichproben ein, sodass die durchschnittliche Bitrate über einen Zeitraum, der dem Pufferfenster entspricht, nicht größer als die Bitrate des Streams ist.
Normalerweise legen Sie die Bitrate und das Pufferfenster für einen Stream in einem Profil fest, und der Writer verarbeitet den Rest. Wenn Sie jedoch komprimierte Stichproben an den Reader übergeben, müssen Sie sicherstellen, dass die richtigen Werte in die neue Datei übertragen werden, indem Sie die Bitrate und das Pufferfenster für den Stream im Zielprofil auf die Werte aus dem komprimierten Stream festlegen.