Conteúdo de buffer

Quando o objeto reader abre um arquivo de streaming, ele determina o tamanho do buffer com base nas configurações no cabeçalho do arquivo. Você pode pensar no buffer como um bucket com um buraco na parte inferior que vaza a uma taxa constante. Desde que a taxa na qual o bucket seja preenchido não seja, em média, maior que a taxa em que está vazando, o bucket nunca estourará.

A taxa na qual o bucket imaginário vaza é a taxa de bits do fluxo. A taxa na qual o bucket preenche é a taxa de bits de streaming real. Os dados em um fluxo compactado variam de exemplo para amostra, dependendo da quantidade de compactação obtida. Portanto, mesmo que a taxa de bits do fluxo seja definida no perfil, ela representa a taxa média de bits, não uma constante.

A outra configuração de fluxo importante para o processo de buffer é a janela de buffer. A janela de buffer é medida no tempo e especifica quanto conteúdo pode ser armazenado em buffer. A capacidade do bucket imaginário pode ser encontrada usando a janela de buffer. Por exemplo, se você tiver um fluxo com uma taxa de bits de 32 Kbps e uma janela de buffer de 3 segundos, o buffer será dimensionado para conter 3 segundos de conteúdo de 32 Kbps ou 12.000 bytes (32.000 bits por segundo x 3 segundos/8 bits por byte). O codec limita a variação entre a taxa de bits de streaming real de amostras codificadas para que, durante um período de tempo igual à janela de buffer, a taxa média de bits não seja maior que a taxa de bits do fluxo.

Normalmente, você define a taxa de bits e a janela de buffer para um fluxo em um perfil e o gravador manipula o restante. No entanto, ao passar amostras compactadas para o leitor, você deve garantir que os valores corretos sejam transferidos para o novo arquivo definindo a taxa de bits e a janela de buffer do fluxo no perfil de destino para os valores do fluxo compactado.

Conceitos

Exemplos de mídia

Entradas, fluxos e saídas